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爬虫二级子页面爬取相关推荐

  1. Python爬虫【四】爬取PC网页版“微博辟谣”账号内容(selenium多线程异步处理多页面)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  2. Python爬虫【三】爬取PC网页版“微博辟谣”账号内容(selenium单页面内多线程爬取内容)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

  3. Python 爬虫 中国行政区划信息爬取 (初学者)

    Python 爬虫 中国行政区划信息爬取 (初学者) 背景 环境准备 代码片段 1.定义地址信息对象 2.地址解析对象 2.1 获取web信息 2.2 web信息解析 2.3 区划信息提取 2.4 省 ...

  4. Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题

      比如我们今天的案例,豆瓣电影分类页面.根本没有什么翻页,需要点击"加载更多"新的电影信息,前面的黑科技瞬间被秒--   又比如知乎关注的人列表页面:   我复制了其中两个人昵称 ...

  5. python爬虫实例之——多线程爬取小说

    之前写过一篇爬取小说的博客,但是单线程爬取速度太慢了,之前爬取一部小说花了700多秒,1秒两章的速度有点让人难以接受. 所以弄了个多线程的爬虫. 这次的思路和之前的不一样,之前是一章一章的爬,每爬一章 ...

  6. 转 Python爬虫实战一之爬取糗事百科段子

    静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致 ...

  7. Python爬虫实战一之爬取糗事百科段子

    点我进入原文 另外, 中间遇到两个问题: 1. ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128) 解 ...

  8. 19. python爬虫——基于scrapy框架爬取网易新闻内容

    python爬虫--基于scrapy框架爬取网易新闻内容 1.需求 [前期准备] 2.分析及代码实现 (1)获取五大板块详情页url (2)解析每个板块 (3)解析每个模块里的标题中详情页信息 1.需 ...

  9. Python爬虫【二】爬取PC网页版“微博辟谣”账号内容(selenium同步单线程)

    专题系列导引   爬虫课题描述可见: Python爬虫[零]课题介绍 – 对"微博辟谣"账号的历史微博进行数据采集   课题解决方法: 微博移动版爬虫 Python爬虫[一]爬取移 ...

最新文章

  1. Redis 配置文件
  2. Spring Cloud + Mybatis配置类设置
  3. 嘿,老李,又在写 BUG 呢?
  4. javascript乘法和加法_JS加减乘除运算
  5. 变异测试 java_编码的喜悦……以及Java中的变异测试
  6. pointcut 排除_宁河天津玻璃门地弹簧玻璃门故障排除
  7. 蛋白对接_JCIM | 金属蛋白分子对接程序哪家强?七种对接程序的基准测试
  8. ★36句经典英文格言
  9. 三星首款5nm A78旗舰芯Exynos 1080即将亮相
  10. 【MySQL】MySQL中的查询语句的详解----等值连接、左连接、右连接、全连接
  11. 服务器做raid bios界面做raid配置
  12. 使用Eclipse中提供的Refactor(重构)工具
  13. ADB 学习(4):adb shell (上)
  14. 显著性水平 P值 概念解释
  15. Intel 12代处理器主机 安装Ubuntu
  16. 中国移动为何要对手机上网流量封顶
  17. 花海吉他谱-无限延音编配
  18. 程序媛 :逛 GitHub 开源项目吗? 很沙雕的那种!
  19. ubuntu配置网易云音乐
  20. OA系统是把无所不能的“万能钥匙”?

热门文章

  1. 比尔及梅琳达·盖茨基金会联席主席比尔·盖茨近日面向全球发布了一年一度的公开信。在信中,盖茨回顾了过去一年盖茨基金会在全球慈善领域的工作,分享了他的忧虑与希望,呼吁各国更多关注全球十亿贫困人口,增加资源
  2. repo forall -c命令
  3. php post fsockopen,php的fsockopen post表单
  4. 介绍芯片时为什么都要介绍制程?制程到底是什么?14nm、10nm?
  5. 开发流程中的问题总结和建议
  6. ProGuard技术详解
  7. python中的reshape是什么意思_python中reshape的用法(深度学习入门程序)
  8. i3 10110u和r5 4500u 哪个好
  9. DHT11温湿度模块入门
  10. 国信证券开源自研的微服务开发框架 Zebra