实战
分析网页结构,找到需要抓取的数据
通过键盘上的F12,进入抓包工具;选择network。找到网址链接,复制,这里我通过工具生成了,爬虫的第一步。
第一步:请求网页,获取数据
import requests
cookies = {
'ipLoc-djd': '18-1482-0-0',
'__jda': '122270672.16518397672031804136707.1651839767.1651839767.1651839767.1',
'qrsc': '1',
'rkv': '1.0',
'areaId': '18',
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Cache-Control': 'max-age=0',
}
params = {
'keyword': '电脑',
}
# 1、 请求网络 - 得到网站返回的数据
response = requests.get('https://search.jd.com/Search', params=params, cookies=cookies, headers=headers)
# 打印 富文本
print(response.text)
第二步:提取商品数据
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text,'html.parser')
# 循环嵌套
for div in soup.find_all('div',class_="ml-wrap"):
print(div)
for div2 in soup.find_all('div',class_="goods-list-v2 gl-type-1 J-goods-list"):
for price in soup.find_all('div',class_="p-name p-name-type-2"):
for prices in soup.find_all('em'):
print(prices.text)
第三步: 持久化保存数据
这里使用了简单的txt文件保存
file = open('京东.txt','a',encoding='utf-8')
file.write(prices.text+'\n')
如果学习上有遇到问题,想联系我可以加v:yiyi990805(备注:阿里云tony)即可。