python网页数据抓取(爬虫网络请求方式:urllib、requests(框架)、pyspider )

优采云 发布时间: 2021-10-30 19:06

  python网页数据抓取(爬虫网络请求方式:urllib、requests(框架)、pyspider

)

  爬虫网络请求方法:urllib、requests、scrapy(框架)、pyspider(框架)爬虫数据提取方法:正则表达式、bs4、lxml、xpath、css

  Python网络爬虫的四种选择器总结(正则表达式、BS4、Xpath、CSS)

  如果你的爬虫的瓶颈是下载网页而不是提取数据,那么使用较慢的方法(比如BeautifulSoup)不是问题。如果你只需要抓取少量数据,又想避免额外的依赖,那么正则表达式可能更合适。

  一般情况下,lxml(该模块可以实现xpath和css)是爬取数据的最佳选择,因为这种方式快速且健壮,而正则表达式和BeautifulSoup只在某些场景下有用。

  

  1、获取网页

2、解析数据

---------------------------------------------------------------------------------

import requests

from lxml import etree

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'}

r = requests.get('https://www.zhihu.com/question/68584669/answer/265070848',headers=headers)

s = etree.HTML(r.text)

# 获取问题内容

q_content = s.xpath('//*[@class="QuestionHeader-title"]/text()')[0]

# 获取关注数和浏览量,这两个属性一样

q_number = s.xpath('//*[@class="NumberBoard-itemValue"]/text()')

concern_num = q_number[0]

browing_num = q_number[1]

# 打印

print('问题:',q_content,'\n','关注数:',concern_num,'\n','浏览量:',browing_num)

----------------------------------------------------------------------------

问题: 行人重识别(re-ID)与跟踪(tracking)有什么区别?

关注数: 535

浏览量: 68,555

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线