python爬虫之requests+selenium+BeautifulSoup

前言:

  • 环境配置: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)  # 打印输出url

print(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 <html><head><title>The Dormouse‘s story</title></head>
 5 <body>
 6 <p class="title"><b>The Dormouse‘s story</b></p>
 7
 8 <p class="story">Once upon a time there were three little sisters; and their names were
 9 <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
10 <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
11 <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
12 and they lived at the bottom of a well.</p>
13
14 <p class="story">...</p>
15 """
16
17 ss = BeautifulSoup(html_doc,"html.parser")
18 print (ss.prettify())  #按照标准的缩进格式的结构输出
19 print(ss.title)   # <title>The Dormouse‘s story</title>
20 print(ss.title.name)   #title
21 print(ss.title.string)   #The Dormouse‘s story
22 print(ss.title.parent.name)   #head
23 print(ss.p)   #<p class="title"><b>The Dormouse‘s story</b></p>
24 print(ss.p[‘class‘])   #[‘title‘]
25 print(ss.a)   #<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>
26 print(ss.find_all("a"))   #[。。。]
29 print(ss.find(id = "link3"))   #<a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>
30
31 for link in ss.find_all("a"):
32     print(link.get("link")) #获取文档中所有<a>标签的链接
33
34 print(ss.get_text()) #从文档中获取所有文字内容
 1 import requests
 2 from bs4 import BeautifulSoup
 3
 4 html_doc = """
 5 <html><head><title>The Dormouse‘s story</title></head>
 6 <body>
 7 <p class="title"><b>The Dormouse‘s story</b></p>
 8 <p class="story">Once upon a time there were three little sisters; and their names were
 9 <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
10 <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
11 <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
12 and they lived at the bottom of a well.</p>
13
14 <p class="story">...</p>
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 = "<b><!--Hey, buddy. Want to buy a used parser?--></b>"
26 soup1 = BeautifulSoup(markup, "html.parser")
27 comment = soup1.b.string
28 print(type(comment))  # 获取注释中内容
  • 小试牛刀:
1 import requests
2 import io
3 import sys
4 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

时间: 2024-10-08 04:37:01

python爬虫之requests+selenium+BeautifulSoup的相关文章

python爬虫实例(urllib&BeautifulSoup)

python 2.7.6 urllib:发送报文并得到response BeautifulSoup:解析报文的body(html) #encoding=UTF-8 from bs4 import BeautifulSoup from urllib import urlopen import urllib list_no_results=[]#没查到的银行卡的list list_yes_results=[]#已查到的银行卡的list #解析报文,以字典存储 def parseData(htmls,

Python爬虫利器:Selenium的用法

本文和大家分享的主要是python 爬虫 利器Selenium的相关内容,一起来看看吧,希望对大家 学习python爬虫有所帮助. Selenium  是什么?一句话,自动化测试工具.它支持各种浏览器,包括  Chrome , Safari , Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个  Selenium  的插件,那么便可以方便地实现 Web界面的测试.换句话说叫  Selenium  支持这些浏览器驱动.话说回来, PhantomJS 不也是一个浏览器吗,那么  S

python爬虫之初始Selenium

1.初始 Selenium[1]  是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建回归测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Per

[Python爬虫] Windows下Selenium自动访问Firefox和Chrome并实现搜索截图

前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium 自动访问Firefox 可以参照前文安装Selenium环境,目前Selenium这个用于Web应用程序测试的工具支持的浏览器包括IE.

Python爬虫准备——requests和bs4安装

昨天想要写一下Python爬虫试试,但没想到导入的包并没有安装好.有两个这样的包,requests和bs4,requests是网络请求,bs4是html解析器. 那么接下来就说一下如何安装这两个包 一.用指令安装(pip install ……) 大体上来说就是,打开DOS(命令提示符),进入到你安装Python环境的目录下,找到Scripts目录并进入,然后执行指令 进入DOS有两种方法: 1.Win+R,输入cmd 然后点击确定即可进入 2.Win+S,打开搜索框,搜索cmd并进入 进入以后,

python爬虫之html解析Beautifulsoup和Xpath

Beautiifulsoup Beautiful Soup 是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据.BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器.Python标准库中的HTML解析器,也支持 lxml 的 XML解析器.Beautiful Soup 3 目前已经停止开发,推荐现在的项目使用Beautiful Soup 4.Beautiifulsoup:python语言写的re:C语言写的lxml:C语言

爬虫--python3.6+selenium+BeautifulSoup实现动态网页的数据抓取,适用于对抓取频率不高的情况

说在前面: 本文主要介绍如何抓取 页面加载后需要通过JS加载的数据和图片 本文是通过python中的selenium(pyhton包) + chrome(谷歌浏览器) + chromedrive(谷歌浏览器驱动) chrome 和chromdrive建议都下最新版本(参考地址:https://blog.csdn.net/yoyocat915/article/details/80580066) 同样支持无头模式(不需要打开浏览器) 直接上代码:site_url:需要爬取的地址,CHROME_DRI

python爬虫笔记----4.Selenium库(自动化库)

4.Selenium库 (自动化测试工具,支持多种浏览器,爬虫主要解决js渲染的问题) pip install selenium 基本使用 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_condition

python爬虫之requests模块

一. 登录事例 a. 查找汽车之家新闻 标题 链接 图片写入本地 import requests from bs4 import BeautifulSoup import uuid response = requests.get( 'http://www.autohome.com.cn/news/' ) response.encoding = 'gbk' soup = BeautifulSoup(response.text,'html.parser') # HTML会转换成对象 tag = so