基礎抓取元素

import requests
from bs4 import BeautifulSoup
import re

geturl = 'https://sh.lianjia.com/ershoufang/rs/'
head = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36'
headers ={'User-Agent':head};
link = requests.get(url=geturl,headers=headers)
#用瀏覽器頭訪問,否則返回403
#soup = BeautifulSoup(link.text,"lxml")
#sou = soup.find('div',class_ ='unitPrice')
pattern = r'data-price="(.*?)"'
#正則表達式原來要這麼寫,然後傳入findall中
rs = re.findall(pattern,link.text)
for detail in rs:
    print(detail)

注意findall後面是正則的語句,第二個參數應該是字符串。
第一次用的時候將soup傳入了參數中,果斷報錯了。後來大佬幫忙debug發現了這裏不對。

結果即爲第一頁每平方的價格的輸出

訪問網頁的時候必須得傳入參數頭,否則返回403,好像是反爬蟲的機制。
一般第三個參數是可以更改ip

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章