python爬虫二级子页面爬取
python爬虫二级页面爬取
文章目录
- python爬虫二级页面爬取
- 前言
- 一、流程
- 二、操作部分
- 1.请求头设置
- 2.第一级页面爬取
- 3.二级页面内容爬取
- 4.运行结果
前言
推荐一个爬虫的小玩意
叫 xpath helper
是一个扩展程序
打开可以直接定位你想要地方的位置
crx文件我没有了,百度总会找到的
效果:
python爬虫爬取二级子页面,是在第一级页面爬取到第二级页面的链接,通过链接去访问二级页面进行爬取。
一、流程
①爬虫的第一个步骤就是对起始 URL 发送请求,以获取其返回的响应;
②返回的网页数据,我们需要进行解析,提取出二级页面链接;
③将二级页面链接返回url队列再一次重复①
④解析二级页面,定位所需内容
⑤保持数据,一般为csv、excle、josn
二、操作部分
1.请求头设置
emm
请求头一定要设置好
现在加user-agent不一定能解析页面获取内容,这个时候我们需要加一个cookie。
你可以这样理解cookie,你找了个吃饭的地,吃完你走了,第二次你又去,就像给他打声招呼,嗨,我又来了,他一看是熟人,直接就让你进了,如此,就不用一直被检测。
果然脑子里只能想到干饭
代码:
def head_x(): #设置请求头header = {'User-Agent': 'xxx','Cookie': 'xxx'}return header
2.第一级页面爬取
标红的就是车的链接
import requests
from lxml import etree
import numpy as np
import time
import pandas as pd
import redef html_link(): #得到二级页面链接list = []for i in range(1,13):print('爬取第{}页'.format(i))url = 'https://www.maodou.com/car-list/all/pg{}?keyword='.format(i)head = head_x()rq = requests.get(url,headers=head)html = etree.HTML(rq.content)rqq = html.xpath('//div[@class="list-wrap clearfix"]/a/@href')list.extend(rqq)print(rqq)time.sleep(np.random.randint(1,3))return list
这个地方主要目标是爬取第二页面的链接
当然如果提取,第一页面的内容也是可以的
3.二级页面内容爬取
我就爬了这几个,也可以爬更多
def second_page(): #二级子页面list_link = html_link()list_1 = []for i in list_link:item = {}rqqq = requests.get(i,headers=head_x())time.sleep(np.random.randint(1,3))html = etree.HTML(rqqq.content)item['name'] = re.sub("\s", "", ",".join(html.xpath('//*[@id="banner"]/div[@class="banner clearfix"]/div[@class="banner-right"]/h2/text()')))item['price'] = re.sub("\s", "", ",".join(html.xpath('//*[@id="banner"]/div[@class="banner clearfix"]/div[@class="banner-right"]/p/text()')))item['first_pay'] = re.sub("\s", "", ",".join(html.xpath('//div[@class="sy-yf"]/div[@class="sy"]/p[@class="sy-num"]/text()')))list_1.append(item)print(item)return list_1def save_data():data = second_page()data = pd.DataFrame(data)data.to_csv('二手车数据.csv',index=False)return dataif __name__ == '__main__':used_car = save_data()
运行
4.运行结果
差不多就这样
差不多就这样了
干饭干饭!!!
python爬虫二级子页面爬取相关推荐
- Python爬虫【四】爬取PC网页版“微博辟谣”账号内容(selenium多线程异步处理多页面)
专题系列导引 爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集 课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...
- Python爬虫【三】爬取PC网页版“微博辟谣”账号内容(selenium单页面内多线程爬取内容)
专题系列导引 爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集 课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...
- Python 爬虫 中国行政区划信息爬取 (初学者)
Python 爬虫 中国行政区划信息爬取 (初学者) 背景 环境准备 代码片段 1.定义地址信息对象 2.地址解析对象 2.1 获取web信息 2.2 web信息解析 2.3 区划信息提取 2.4 省 ...
- Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
比如我们今天的案例,豆瓣电影分类页面.根本没有什么翻页,需要点击"加载更多"新的电影信息,前面的黑科技瞬间被秒-- 又比如知乎关注的人列表页面: 我复制了其中两个人昵称 ...
- python爬虫实例之——多线程爬取小说
之前写过一篇爬取小说的博客,但是单线程爬取速度太慢了,之前爬取一部小说花了700多秒,1秒两章的速度有点让人难以接受. 所以弄了个多线程的爬虫. 这次的思路和之前的不一样,之前是一章一章的爬,每爬一章 ...
- 转 Python爬虫实战一之爬取糗事百科段子
静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...
- Python爬虫实战一之爬取糗事百科段子
点我进入原文 另外, 中间遇到两个问题: 1. ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128) 解 ...
- 19. python爬虫——基于scrapy框架爬取网易新闻内容
python爬虫--基于scrapy框架爬取网易新闻内容 1.需求 [前期准备] 2.分析及代码实现 (1)获取五大板块详情页url (2)解析每个板块 (3)解析每个模块里的标题中详情页信息 1.需 ...
- Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)
专题系列导引 爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集 课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...
最新文章
- Redis 配置文件
- Spring Cloud + Mybatis配置类设置
- 嘿,老李,又在写 BUG 呢?
- javascript乘法和加法_JS加减乘除运算
- 变异测试 java_编码的喜悦……以及Java中的变异测试
- pointcut 排除_宁河天津玻璃门地弹簧玻璃门故障排除
- 蛋白对接_JCIM | 金属蛋白分子对接程序哪家强?七种对接程序的基准测试
- ★36句经典英文格言
- 三星首款5nm A78旗舰芯Exynos 1080即将亮相
- 【MySQL】MySQL中的查询语句的详解----等值连接、左连接、右连接、全连接
- 服务器做raid bios界面做raid配置
- 使用Eclipse中提供的Refactor(重构)工具
- ADB 学习(4):adb shell (上)
- 显著性水平 P值 概念解释
- Intel 12代处理器主机 安装Ubuntu
- 中国移动为何要对手机上网流量封顶
- 花海吉他谱-无限延音编配
- 程序媛 :逛 GitHub 开源项目吗? 很沙雕的那种!
- ubuntu配置网易云音乐
- OA系统是把无所不能的“万能钥匙”?
热门文章
- 比尔及梅琳达·盖茨基金会联席主席比尔·盖茨近日面向全球发布了一年一度的公开信。在信中,盖茨回顾了过去一年盖茨基金会在全球慈善领域的工作,分享了他的忧虑与希望,呼吁各国更多关注全球十亿贫困人口,增加资源
- repo forall -c命令
- php post fsockopen,php的fsockopen post表单
- 介绍芯片时为什么都要介绍制程?制程到底是什么?14nm、10nm?
- 开发流程中的问题总结和建议
- ProGuard技术详解
- python中的reshape是什么意思_python中reshape的用法(深度学习入门程序)
- i3 10110u和r5 4500u 哪个好
- DHT11温湿度模块入门
- 国信证券开源自研的微服务开发框架 Zebra