request+xpath 爬虫案例demo

1. 一个最简单的 request+xpath获取内容

# +----------------------------------------------------------------------
# | User: zq
# | Version: python3.7
# | Time: 2020-03-09 09:33
# +----------------------------------------------------------------------

import requests
from scrapy import Selector

url = "http://www.whzk120.com/index.html"
my_headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
res = requests.get(url, headers=my_headers)
#设置编码
res.encoding= "utf8"
html = res.text

sel = Selector(text=html)
# tag = sel.xpath("//*[@class='indexPart1']/ul/li[1]/a/h2/text()").extract()[0]
tag = sel.xpath("//*[@class='li_01']/a/h2/text()").extract()[0]
pass

 

使用RequestXPath爬取网站如https://qd.lianjia.com/ershoufang/的数据,你需要遵循以下步骤: 1. 分析目标网站:首先需要通过浏览器的开发者工具或其他网站分析工具来分析你想要爬取的网页内容。确定你需要爬取的数据所在的HTML元素以及对应的XPath表达式。 2. 准备请求:使用requests库(Python中的HTTP请求库)来构造对目标网站的请求。通常需要设置合适的headers来模拟浏览器的请求,以避免被网站的反爬虫机制拦截。 3. 解析数据:获取到目标网站返回的响应内容后,使用lxml库或ElementTree等库来解析HTML文档,通过XPath表达式定位并提取所需的数据。 4. 数据存储:将提取出的数据进行整理并存储到适当的数据结构或文件中,如列表、字典或直接写入CSV、数据库等。 5. 错误处理和异常:在整个爬虫过程中,需要考虑到网络请求失败、数据解析错误等可能出现的异常情况,并进行相应的处理。 以下是一个简单的代码示例框架,用于爬取网页数据: ```python import requests from lxml import etree # 目标URL url = 'https://qd.lianjia.com/ershoufang/' # 准备请求的headers 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' } # 发送请求并获取响应 response = requests.get(url, headers=headers) response.encoding = response.apparent_encoding # 解析响应内容 html = etree.HTML(response.text) # 使用XPath表达式提取数据 houses = html.xpath('//div[@class="info clear"]') # 示例XPath表达式,需要根据实际情况调整 # 处理提取的数据 for house in houses: # 提取并处理数据 pass # 数据存储,例如输出或写入文件等 ``` 注意:爬虫开发应遵守相关网站的使用条款,不要对网站造成过大的访问压力,尊重网站的robots.txt文件规定。如果网站有反爬虫措施,要合理遵守并适时调整策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值