python爬取京东网页商品实例(一)

# Copyright (c)2018, 东北大学软件学院学生
# All rightsreserved
# 文件名称:justForTest.py
# 作   者:孔云
#问题描述:打开京东页面,选取一个商品,复制当前页面链接,pyhton语言爬取京东网页商品
# coding:utf-8
import requests
url="http://item.jd.com/2967929.html"
try:
    r=requests.get(url)
    print("当前使用编码:",r.encoding)
    r.encoding=r.apparent_encoding #使用备选编码,内容不出现乱码
    print("返回内容:\n",r.text[:1000])
except:
    print("爬取失败")

运行结果如下:


由结果图知,可以看到网页内容。

### 使用Python爬虫抓取京东商城商品信息 #### 准备工作 为了成功地使用 Python 抓取京东商城的商品信息,需先安装必要的库。常用的库有 `requests` 和 `BeautifulSoup` 或者更高级的框架如 Scrapy。 ```bash pip install requests beautifulsoup4 lxml ``` #### 获取目标网页内容 通过发送 HTTP 请求获取网页 HTML 文档。由于部分网站会检测并阻止自动化工具访问,因此建议设置合理的 User-Agent 头部信息模仿浏览器行为[^1]。 ```python import requests url = 'https://example.jd.com' # 替换成实际的目标URL headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } response = requests.get(url, headers=headers) html_content = response.text ``` #### 解析HTML文档提取所需数据 可以采用 BeautifulSoup 来解析返回的数据流,并从中抽取特定标签内的文本或属性值作为最终想要的结果。对于某些动态加载的内容,则可能需要用到 Selenium 这样的工具来处理 JavaScript 渲染后的页面[^2]。 ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'lxml') product_titles = soup.find_all('div', class_='p-name') # 假设产品名位于此类别的<div>内 for title in product_titles: print(title.get_text(strip=True)) ``` #### 应对反爬机制 些大型站点会有严格的防护措施防止被频繁请求所拖垮服务器性能。当遇到这种情况时,可以通过增加延时、更换 IP 地址等方式降低频率;也可以考虑官方 API 接口如果开放的话,这是最理想的选择[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值