资源简介
实战抓取瓜子二手车详情页文本,用etree解析,xpath定位抓取,保存为csv文件。加入了反爬内容。仅用于学习测试,请勿用于非法用途。
代码片段和文件信息
# !/usr/bin/python
# ctrl+alt+L自动加空格格式化
# --king--
import requests
from lxml import html
import time
# 获取详情页面的函数
headers = {
‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Safari/537.36‘
‘Cookie‘: ‘track_id=78612551481065472; uuid=078b88fa-951c-43c4-b101-6aa943f02548; user_city_id=103; ganji_uuid=7491503126491343275062; lg=1; cityDomain=zz; antipas=I93s6b4649487681198n608P1u; clueSourceCode=%2A%2300; sessionid=e88583b7-7f25-44bf-a7c7-325da0041169; cainfo=%7B%22ca_a%22%3A%22-%22%2C%22ca_b%22%3A%22-%22%2C%22ca_s%22%3A%22pz_baidu%22%2C%22ca_n%22%3A%22pcbiaoti%22%2C%22ca_medium%22%3A%22-%22%2C%22ca_term%22%3A%22-%22%2C%22ca_content%22%3A%22%22%2C%22ca_campaign%22%3A%22%22%2C%22ca_kw%22%3A%22-%22%2C%22ca_i%22%3A%22-%22%2C%22scode%22%3A%22-%22%2C%22keyword%22%3A%22-%22%2C%22ca_keywordid%22%3A%22-%22%2C%22ca_transid%22%3A%22%22%2C%22platform%22%3A%221%22%2C%22version%22%3A1%2C%22track_id%22%3A%2278612551481065472%22%2C%22display_finance_flag%22%3A%22-%22%2C%22client_ab%22%3A%22-%22%2C%22guid%22%3A%22078b88fa-951c-43c4-b101-6aa943f02548%22%2C%22ca_city%22%3A%22zz%22%2C%22sessionid%22%3A%22e88583b7-7f25-44bf-a7c7-325da0041169%22%7D; preTime=%7B%22last%22%3A1589953591%2C%22this%22%3A1589897893%2C%22pre%22%3A1589897893%7D‘}
def get_detail_urls(url):
resp = requests.get(url headers=headers)
text = resp.content.decode(‘utf-8 ‘)
# 由于etree要通过html引出所以变量名尽量不要使用html否则会报错
htmls = html.etree.HTML(text)
# 输出是一个l.etree._Element‘>一个class类
# 确认上级ul标签的carlist clearfix js-top属性是否唯一
# 确认后直接抓取这个ul标签下所有内容
# 利用[0]切片从列表里取出第一个l.etree._Element‘>一个class类
ul = htmls.xpath(‘//ul[@class=“carlist clearfix js-top“]‘)[0]
lis = ul.xpath(‘./li‘)
# 输出是由多个组成的列表所以命名为li+s=lis表示多个li
# [...]
# 说明里边包含的是多个Element元素
# 用for循环取出里边所有的元素
# 建立空列表把完整的detail_url添加进去
detail_urls = []
for li in lis:
detail_url = li.xpath(“./a/@href“)
detail_url = ‘https://www.guazi.com‘ + detail_url[0]
# href[0]代表把当前列表里的数据以字符串的形式切片出来
# 由于href是从li中取的
相关资源
- 国际麻将AI-根据向听数计算最优操作
- 人脸识别UI Pythone+pyq5+opencv 多线程模式
- pcap-1.1.win32-py2.7.exe
- Python制作的汉诺塔演示小脚本
- python django+bootstrap实现用户管理系统
- python+MySQL+bootstrap+ajax项目
- 基于Python的双路视频传输及双显示系
- python模型restful接口
- Python3—EM&GMM;
- python+numpy实现自适应阈值分割函数O
- python+numpy实现均值滤波
- python代码实现录音
- 初学者练习python编程的100个小程序
- python入门到实践 外星人入侵项目代码
- 合并BN层的python脚本
- 语音读邮件的小程序python实现
- python入账管理系统源码
- python调用opencv实现人脸识别的简单D
- python界面GUI实现k-means聚类算法
- python版flappybird源码
- 简明Python教程.pdf
- Python的入门代码银行管理系统
- Python科学计算 张若愚 第二版-书及全
- Python实现Word批注转成脚注
- 商品管理系统python
- Honeywell树莓派读取扫枪扫码数据
- Tkinter
- Python 数据库编程入门教程
- 基于PCA的故障检测Python代码
- 根据epsg代号进行坐标的批量投影转换
评论
共有 条评论