python 爬取多页京东商品信息
时间: 2023-07-11 15:01:03 浏览: 110
好的,以下是Python爬取多页京东商品信息的代码实现:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://search.jd.com/Search?keyword=手机&enc=utf-8&wq=手机'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
for page in range(1, 3): # 爬取前2页
params = {
'page': page * 2 - 1
}
response = requests.get(url, headers=headers, params=params)
soup = BeautifulSoup(response.text, 'html.parser')
items = soup.select('#J_goodsList .gl-item')
for item in items:
try:
name = item.select('.p-name em')[0].text.strip()
price = item.select('.p-price strong')[0].i.text.strip()
print(name, price)
except Exception as e:
print(e)
```
代码解析:
1. 首先,我们定义需要爬取的京东搜索页面的URL和请求头信息。
2. 然后,我们通过循环访问每一页的URL,这里我们爬取前2页。
3. 在每一页中,我们使用`BeautifulSoup`解析HTML文档,然后选取所有商品的标签。
4. 遍历每一个商品标签,提取商品名称和价格信息,并输出到控制台中。
注意事项:
1. 在京东搜索页面的URL中,`page`参数的值是从1开始计算的,而且每一页的值是奇数。
2. 为了避免被京东的反爬虫机制封IP,我们设置了请求头信息。如果需要爬取其他搜索关键字的商品信息,可以修改URL中的`keyword`参数。
阅读全文