1. 程式人生 > >Python 爬蟲 BeautifulSoup +requests 第一次使用

Python 爬蟲 BeautifulSoup +requests 第一次使用

import requests
import sys
import re
from bs4 import BeautifulSoup
response=requests.get(‘***’)
訪問的地址

output = sys.stdout
outputfile = open(‘1111.text’, ‘w+’)
sys.stdout = outputfile

將顯示器上顯示的內容全部傳入檔案中

def a1():
bs4=BeautifulSoup(response.text,’lxml’)
money=bs4.find_all(name=’ul’,class_=’sort-box’,limit=1)
搜尋ul標籤下的class=‘sort-box’,接受第一個結果


m1=str(money)
轉換型別,準備進行第二次分析提煉
bs3=BeautifulSoup(m1,’lxml’)
m2=bs3.find_all(name=’a’)
m2=list(m2)
將m2轉換成list型別,以便直接拿到內容
for i in m2:
Title=i.contents
接受a標籤下的內容
print(Title)

def a2():
bs4 = BeautifulSoup(response.text, ‘lxml’)
title = bs4.find_all(name=’a’, class_=’titleText’)
title1 = list(title)
for i in title1:
print(i.contents)

def a3():
bs4 = BeautifulSoup(response.text, ‘lxml’)
rate = bs4.find_all(name=’div’, class_=’txt’)
rate = str(rate)
bs3 = BeautifulSoup(rate, ‘lxml’)
rate1 = bs3.find_all(name=’p’)

rate1 = str(rate1)
aa = re.findall(re.compile(r’1\w=\d{3}.\d+[\u4e00-\u9fa5]{2,}’), rate1)
**資料的樣式是:1元=375.16萬金
\w:匹配字母或數字或下劃線或漢字
\d:匹配數字
\d+:+ 表示 1個或多個
[\u4e00-\u9fa5]{2,}:匹配兩個以上的漢字
**

a1 = re.findall(re.compile(r’0.\d{4}\w.[\u4e00-\u9fa5]{2}’), rate1)

print(aa)
print(type(aa))
print(“=======================”)
print(a1)
return aa,a1

a1()
a2()
a3()
outputfile.close()
sys.stdout=output