博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫之requests+selenium+BeautifulSoup
阅读量:5122 次
发布时间:2019-06-13

本文共 3009 字,大约阅读时间需要 10 分钟。

前言:

  • 环境配置:windows64、python3.4
  • requests库基本操作:

1、安装:pip install requests

2、功能:使用 requests 发送网络请求,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。

3、命令集操作:

import requests  # 导入requests模块r = requests.get("https://api.github.com/events")  # 获取某个网页# 设置超时,在timeout设定的秒数时间后停止等待响应r2 = requests.get("https://api.github.com/events", timeout=0.001)payload = {'key1': 'value1', 'key2': 'value2'}r1 = requests.get("http://httpbin.org/get", params=payload)print(r.url)  # 打印输出urlprint(r.text)  # 读取服务器响应的内容print(r.encoding)  # 获取当前编码print(r.content)  # 以字节的方式请求响应体print(r.status_code)  # 获取响应状态码print(r.status_code == requests.codes.ok)  # 使用内置的状态码查询对象print(r.headers)  # 以一个python字典形式展示的服务器响应头print(r.headers['content-type'])  # 大小写不敏感,使用任意形式访问这些响应头字段print(r.history)  # 是一个response对象的列表print(type(r))  # 返回请求类型
  • BeautifulSoup4库基本操作:

1、安装:pip install BeautifulSoup4

2、功能:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。

3、命令集操作:

1 import requests 2 from bs4 import BeautifulSoup  3 html_doc = """ 4 The Dormouse's story 5  6 

The Dormouse's story

7 8

Once upon a time there were three little sisters; and their names were 9 Elsie,10 Lacie and11 Tillie;12 and they lived at the bottom of a well.

13 14

...

15 """16 17 ss = BeautifulSoup(html_doc,"html.parser")18 print (ss.prettify()) #按照标准的缩进格式的结构输出19 print(ss.title) # The Dormouse's story20 print(ss.title.name) #title21 print(ss.title.string) #The Dormouse's story22 print(ss.title.parent.name) #head23 print(ss.p) #

The Dormouse's story

24 print(ss.p['class']) #['title']25 print(ss.a) #Elsie26 print(ss.find_all("a")) #[。。。]29 print(ss.find(id = "link3")) #Tillie30 31 for link in ss.find_all("a"):32 print(link.get("link")) #获取文档中所有标签的链接33 34 print(ss.get_text()) #从文档中获取所有文字内容
1 import requests 2 from bs4 import BeautifulSoup 3  4 html_doc = """ 5 The Dormouse's story 6  7 

The Dormouse's story

8

Once upon a time there were three little sisters; and their names were 9 Elsie,10 Lacie and11 Tillie;12 and they lived at the bottom of a well.

13 14

...

15 """ 16 soup = BeautifulSoup(html_doc, 'html.parser') # 声明BeautifulSoup对象17 find = soup.find('p') # 使用find方法查到第一个p标签18 print("find's return type is ", type(find)) # 输出返回值类型19 print("find's content is", find) # 输出find获取的值20 print("find's Tag Name is ", find.name) # 输出标签的名字21 print("find's Attribute(class) is ", find['class']) # 输出标签的class属性值22 23 print(find.string) # 获取标签中的文本内容24 25 markup = "
"26 soup1 = BeautifulSoup(markup, "html.parser")27 comment = soup1.b.string28 print(type(comment)) # 获取注释中内容
  • 小试牛刀:
1 import requests2 import io3 import sys4 sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码5 6 r = requests.get('https://unsplash.com') #像目标url地址发送get请求,返回一个response对象7 8 print(r.text) #r.text是http response的网页HTML

 

参考链接:

https://blog.csdn.net/u012662731/article/details/78537432

http://www.cnblogs.com/Albert-Lee/p/6276847.html

https://blog.csdn.net/enohtzvqijxo00atz3y8/article/details/78748531

转载于:https://www.cnblogs.com/sunshine-blog/p/9268906.html

你可能感兴趣的文章
Java异常抛出
查看>>
CGRect知多少
查看>>
Android 开发环境安装配置手册
查看>>
Qt工程文件说明
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>
WIN7下搭建CORDOVA环境
查看>>
74HC164应用
查看>>
变量声明和定义的关系
查看>>
300 多个免费网站和应用资源
查看>>
Oracle数据库备份还原工具之Expdp/IMPdp
查看>>
【来龙去脉系列】什么是区块链?
查看>>
Wpf 之Canvas介绍
查看>>
Java工程师学习指南 入门篇
查看>>
linux history
查看>>
rpm软件包类型
查看>>
除去内容中的空格与换行
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
super 小记
查看>>