分析淘宝网址的规律
在淘宝网址输入iphone11并查询
复制前4页的网站如下
iphone11 - 商品搜索 - 淘宝
iphone11 - 商品搜索 - 淘宝 #60
iphone11 - 商品搜索 - 淘宝 #60
iphone11 - 商品搜索 - 淘宝
可以发现 page=&s= 在改变其他相同 定义url更加简单,从第二页开始page递增2,参数s递增60,所以构建url语句
urls = ['iphone11 - 商品搜索 - 淘宝']
urls=['iphone11 - 商品搜索 - 淘宝{}&s={}&click=0'.format(str(i),str(j)) for i in range(3,11,2) for j in range(56,237,60)]
分析淘宝html仪器
寻找当前每家店铺所在仪器 div,
找到想要爬取的字段div
输入爬取页面的路径内容
prices=soup.select('div.gl-i-wrap>div.p-price')
ads=soup.select('div.gl-i-wrap>div.p-name')
shops = soup.select('div.gl-i-wrap>div.p-shop')
for price,ad,shop in zip(prices,ads,shops):
i=i+1
data={
'index':i,
'price':price.get_text().split()[0],
'shop':shop.get_text().split(),
'ad':ad.get_text().strip()
}
import requests from bs4 import BeautifulSoup import time import sys
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
def get_info(url,i): wb_data=requests.get(url,headers=headers) soup=BeautifulSoup(wb_data.text,'lxml')
prices=soup.select('div.gl-i-wrap>div.p-price')
ads=soup.select('div.gl-i-wrap>div.p-name')
shops = soup.select('div.gl-i-wrap>div.p-shop')
for price,ad,shop in zip(prices,ads,shops):
i=i+1
data={
'index':i,
'price':price.get_text().split()[0],
'shop':shop.get_text().split(),
'ad':ad.get_text().strip()
}
print(data)
return i
if name=='main': i = 0 urls = ['iphone11 - 商品搜索 - 淘宝'] for url in urls: i=get_info(url,i)
urls=['https://search.jd.com/Search?keyword=iphone11&wq=iphone11&pvid=9c3dd3ff63fc41e2893763e521450969&page={}&s={}&click=0'.format(str(i),str(j)) for i in range(3,11,2) for j in range(56,237,60)]
for url in urls:
i=get_info(url,i)



