Python爬虫
BQW_
吉林大学
北京大学
目前的兴趣:自然语言处理
展开
-
Python爬虫之Urllib库使用(一):爬取、保存页面、获取请求信息
import urllib.request一、介绍urllib是Python内置的HTTP请求库,其包括以下模块:urllib.request:请求模块urllib.error:异常处理模块urllib.parse:url解析模块urllib.robotparser:robot.txt解析模块二、爬虫指定URLwith urllib.request.u...原创 2018-04-10 01:29:38 · 4631 阅读 · 1 评论 -
Python爬虫之BeautifulSoup库(三):遍历文档树
html_doc = """<html><head><title>The Dormouse's story</title></head><p class="title"><b>The Dormouse's story</b>&原创 2018-07-13 16:21:36 · 3443 阅读 · 0 评论 -
Python爬虫之BeautifulSoup库(四):搜索文档树
html_doc = """<html><head><title>The Dormouse's story</title></head><p class="title"><b>The Dormouse's story</b>&原创 2018-07-13 18:05:47 · 1888 阅读 · 0 评论 -
Python爬虫之BeautifulSoup库(六):输出
一、格式化输出prettify()方法将BeautifulSoup文档以格式化的方法输出from bs4 import BeautifulSoupmarkup = '<a href="http://example.com/">I linked to <i>example.com</i></a>'soup = BeautifulSoup...原创 2018-07-13 18:33:27 · 1967 阅读 · 0 评论 -
Python爬虫之BeautifulSoup库(五):修改文档树
from bs4 import BeautifulSoup一、修改tag的名称和属性soup = BeautifulSoup('<b class="boldest">Extremely bold</b>','lxml')tag = soup.btag<b class="boldest">Extremely bold</b>...原创 2018-07-14 19:09:29 · 3950 阅读 · 0 评论 -
Python爬虫之selenium库(一):在windows+anaconda3环境下安装selenium
一、安装selenium使用命令行命令:conda或pip + conda install selenium + pip install selenium二、下载Drivers1.selenium需要驱动程序与所选的浏览器进行交互,例如安装了Chrome浏览器就需要下ChromeDriver2.不同浏览器的下载地址 浏览器 驱动下载地址 Chrom...原创 2018-07-31 11:56:32 · 9324 阅读 · 1 评论 -
Python爬虫之selenium库(二):简单案例分析
一、完整代码from selenium import webdriverfrom selenium.webdriver.common.keys import Keysdriver = webdriver.Chrome()driver.get("http://www.python.org")assert "Python" in driver.titleelem = driver....原创 2018-08-02 00:28:34 · 1995 阅读 · 0 评论 -
Python爬虫之selenium库(三):Chrome无头模式与操作浏览器
一、Chrome无头模式–headless在做爬虫时,通常是不需要打开浏览器的,只需要使用浏览器的内核,因此可以使用Chrome的无头模式from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_option...原创 2018-08-02 02:01:41 · 42508 阅读 · 6 评论 -
Python爬虫之selenium库(四):元素定位
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timedriver = webdriver.Chrome()driver.get("http://www.python.org")1.通过id和name定位元素通过id或name获得输入框elem ...原创 2018-08-02 22:59:58 · 1382 阅读 · 0 评论 -
Python爬虫之selenium库(五):操作被定位的元素
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = webdriver.Chrome()driver.get("http...原创 2018-08-03 00:08:29 · 1523 阅读 · 0 评论 -
Python爬虫之requests库(五):Cookie、超时、重定向和请求历史
import requests一、Cookie获取服务器响应中的cookie信息url = 'http://example.com/some/cookie/setting/url'r = requests.get(url)r.cookies['example_cookie_name']使用参数cookies,发送cookie到服务器url = 'http://h...原创 2018-07-24 16:45:51 · 5402 阅读 · 0 评论 -
Python爬虫之requests库(四):发送文件
import requests将包含文件的字典传递给参数filesurl = 'http://httpbin.org/post'files = {'file': open('report.xlsx', 'rb')}r = requests.post(url, files=files)可以在字典中指定文件名、文件类型和请求头url = 'http://httpbi...原创 2018-07-24 15:59:59 · 1926 阅读 · 0 评论 -
Python爬虫之Urllib库(二):浏览器伪装(header)、维持登录状态(cookie)、代理服务器设置、超时设置
import urllib.requestimport urllib.parse一、HTTP协议1.HTTP是一个面向应用层的通讯协议,它使用URL定位资源、建立链接和传输数据。2.当爬取指定URL页面时,主机会向服务器发送HTTP请求消息,消息的格式包含:请求行请求头部空行请求数据 3.请求行用来说明请求类型,要访问的资源和所使用的HTT...原创 2018-04-10 21:28:58 · 4671 阅读 · 0 评论 -
Pythonp爬虫之正则表达式
import re一、Python正则表达式中常见的函数1.match()re.match()方法是从字符串起始位置匹配一个模式,匹配失败返回None。re.match(pattern,string,flag),其中pattern是正则表达式,string是源字符串,flag可以放模式修正符等信息。string = "apythonhellomypythonour...原创 2018-07-10 23:03:56 · 1651 阅读 · 0 评论 -
Python爬虫之GET与POST
import urllib.requestimport urllib.parse一、GET请求构造Requestkeywd = "hello"url = "http://www.baidu.com/s?wd="+keywdreq = urllib.request.Request(url)爬取数据data = urllib.request.urlopen(req...原创 2018-07-10 23:48:33 · 1471 阅读 · 0 评论 -
Python爬虫之requests库(一):发送请求、传递URL参数、定制headers
import requests一、发送请求r = requests.get('https://api.github.com/events') # GET请求r = requests.post('http://httpbin.org/post', data = {'key':'value'}) # POST请求r = requests.put('http://httpbin.or...原创 2018-07-23 16:24:41 · 19001 阅读 · 0 评论 -
Python爬虫之requests库(二):响应内容、响应状态码、响应头
import requests一、获取不同类型的响应内容在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容1.文本响应内容获取文本类型的响应内容r = requests.get('https://www.baidu.com')r.text # 通过文本的形式获取响应内容'&lt;!DOCTYPE html&gt;\r\n&l...原创 2018-07-23 17:18:04 · 36426 阅读 · 0 评论 -
Python爬虫之requests库(三):发送表单数据和JSON数据
import requests一、发送表单数据要发送表单数据,只需要将一个字典传递给参数datapayload = {'key1': 'value1', 'key2': 'value2'}r = requests.post("http://httpbin.org/post", data=payload)print(r.text){"args":{},"data":&原创 2018-07-23 21:33:34 · 13411 阅读 · 0 评论 -
Python爬虫之BeautifulSoup库(七):文档解析器、编码及解析部分文档
一、文档解析器BeautifulSoup 第一个参数应该是要被解析的文档字符串或是文件句柄,第二个参数用来标识怎样解析文档.目前支持的文本类型为:html、xml、html5。而解析器可以指定lxml、html5lib、html.parser,不同的解析器解析的结果可能会不同。二、编码1.任何HTML或XML都有自己的编码,例如ASCII或UTF-8,但是经过Beautif...原创 2018-07-18 16:29:56 · 2616 阅读 · 1 评论 -
Python爬虫之BeautifulSoup库(一):介绍与快速开始
一、介绍BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库。二、快速开始给定html文档,产生BeautifulSoup对象from bs4 import BeautifulSouphtml_doc = """<html><head><title>The Dormouse's story</...原创 2018-07-13 02:05:06 · 1389 阅读 · 0 评论 -
Python爬虫之BeautifulSoup库(二):对象的种类
一、Tag(标签)对象1.Tag对象与XML或HTML原生文档中的tag相同。from bs4 import BeautifulSoupsoup = BeautifulSoup('<b class="boldest">Extremely bold</b>','lxml')tag = soup.btype(tag)bs4.element.Tag...原创 2018-07-13 02:45:24 · 1794 阅读 · 0 评论 -
Python爬虫之selenium库(六):获取一组元素_自动填写用户名和密码
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport time先前在定位元素时,我们使用的是find_element_的方法,如果要获取一组元素可以使用find_elements_方法这里以百度文库为例,获取所有的input标签,并且从中筛选出单选框并点击value...原创 2018-08-03 15:38:43 · 4993 阅读 · 0 评论