Python 爬蟲學習4

2021-07-27 23:11:48 字數 1644 閱讀 6199

任務:爬取58頁面中的正常商品,每個商品詳情頁中的類目、標題、發帖時間、**、成色、區域、瀏覽量資訊

注意:多開反爬取、看是個人還是商家(url中的0和1)

詳情頁中的標題

待改進,'這是第二頁的,第一頁的每個詳情頁的鏈結爬不了(問題出在第一頁趴下來的關於詳情頁鏈結有問題,第一頁不同於後面頁,後面頁也有不同的,都是擷取鏈結時要注意擷取的標誌是什麼),瀏覽量還沒成功

from bs4 import beautifulsoup

import requests

headers =

# url = ''

# wb_data = requests.get(url)

# soup = beautifulsoup(wb_data.text, 'lxml')

def get_links_from(who_sells): #在列表頁獲取鏈結

urls =

url = ''

list_view = ''.format(str(who_sells))

wb_data = requests.get(list_view)

soup = beautifulsoup(wb_data.text, 'lxml')

for link in soup.select('td.t a.t'):

return urls

# print(urls)

''''''def get_views_from(url):

id = url.split('/')[-1].strip('x.shtml') #獲取每乙個詳情頁的唯一特性

api = ''.format(id)

js = requests.get(api, headers=headers)

views = js.text.split('=')[-1]

return views

# print(views)

def get_item_info(who_sells=1): #詳情頁,who_sells = 1 是商家

urls = get_links_from(who_sells)

for url in urls:

wb_data = requests.get(url)

soup = beautifulsoup(wb_data.text, 'lxml')

title = soup.title.text #直接在標題中找

price = soup.select('span.price') #大型網路直接copy的select太複雜,採取簡化,詳情頁簡單,「#」代表id

print(price)

date = soup.select('.time')

view = soup.select('em#totalcount')

# area = soup.select('span.c_25d')

data =

print(data)

# get_item_info(url)

# get_links_from(1)

# get_views_from(url)

get_item_info()

python 爬蟲學習 day4

c multiprocessing模組提供了乙個pool類來代表程序池物件 關於程序池的概念,請參見 pool類似於程序池,可以提供指定數量的程序給使用者呼叫,預設大小是cpu核數。程式執行時,如果有新的請求提出交到pool中,並且程序池還沒有滿的時候,就會建立乙個新的程序來給這個請求。但如果程序池...

Python爬蟲基礎 4

proxy 的設定 urllib2 缺省會使用環境變數 http proxy 來設定 http proxy。如果想在程式中明確控制 proxy 而不受環境變數的影響,可以使用 簡單的 import urllib2 enable proxy true proxy handler urllib2.pro...

Python爬蟲學習 案例 主題列表分析(4)

觀察頁面 為了獲得主題和回帖,因此需要關注主題列表以及頁碼 3.根據preview回顯,尋找真正的請求鏈結 將真正的request url與版面列表抓取的主題列表結果比對 發現請求構成 boardname為版面列表中獲取的url page 為頁碼 postman中驗證url,並利用code功能 獲取...