精华内容
下载资源
问答
  • 在本篇内容中小编给大家整理的是关于python爬虫用到的库总结内容,需要的朋友们可以学习下。
  • python爬虫用到的库

    2021-03-27 18:54:06
    一个调用浏览器 driver,通过这个你可以直接调用浏览器完成某些操作,比如输入验证码。 aiohttp:基于 asyncio 实现 HTTP 框架。异步操作借助于 async/await 关键字,使用异步进行数据抓取,可以大大提高...

    请求库

    实现 HTTP 请求操作

    • urllib:一系列用于操作URL的功能。

    urllib 是一个收集多个模块以处理URL的软件包:

    urllib.request 用于打开和阅读网址

    urllib.error 包含由…提出的例外 urllib.request

    urllib.parse 用于解析URL

    urllib.robotparser用于解析robots.txt文件

    • requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。

    • selenium:自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。

    • aiohttp:基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

    解析库

    从网页中提取信息

    • beautifulsoup:html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。

    • lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

    • pyquery:jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。

    • tesserocr:一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。

    存储库

    Python 与数据库交互

    • pymysql:一个纯 Python 实现的 MySQL 客户端操作库。

    • pymongo:一个用于直接连接 mongodb 数据库进行查询操作的库。

    • redisdump:一个用于 redis 数据导入/导出的工具。基于 ruby 实现的,因此使用它,需要先安装 Ruby。

    爬虫框架

    • Scrapy:很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如 weibo 的页面信息,这个框架就满足不了需求了。

    • Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为 JSON、XML 等。

    • Portia:可视化爬取网页内容。

    • newspaper:提取新闻、文章以及内容分析。

    • python-goose:java 写的文章提取工具。

    • cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。

    Web框架库

    • flask:轻量级的 web 服务程序,简单,易用,灵活,主要来做一些 API 服务。做代理时可能会用到。

    • django:一个 web 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。

    展开全文
  • python爬虫用到的库: 请求库:实现 HTTP 请求操作 urllib:一系列用于操作URL的功能。 requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。 ...

    python爬虫要用到的库:

    请求库:实现 HTTP 请求操作

    urllib:一系列用于操作URL的功能。

    requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。

    selenium:自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。

    aiohttp:基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

    解析库:从网页中提取信息

    beautifulsoup:html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。

    pyquery:jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。

    lxml:支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

    tesserocr:一个 OCR 库,在遇到验证码(图形验证码为主)的时候,可直接用 OCR 进行识别。

    存储库:Python 与数据库交互

    pymysql:一个纯 Python 实现的 MySQL 客户端操作库。

    pymongo:一个用于直接连接 mongodb 数据库进行查询操作的库。

    redisdump:一个用于 redis 数据导入/导出的工具。基于 ruby 实现的,因此使用它,需要先安装 Ruby。

    爬虫框架

    Scrapy:很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如 weibo 的页面信息,这个框架就满足不了需求了。

    Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为 JSON、XML 等。

    Portia:可视化爬取网页内容。

    newspaper:提取新闻、文章以及内容分析。

    python-goose:java 写的文章提取工具。

    cola:一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高。

    Web框架库

    flask:轻量级的 web 服务程序,简单,易用,灵活,主要来做一些 API 服务。做代理时可能会用到。

    django:一个 web 服务器框架,提供了一个完整的后台管理,引擎、接口等,使用它可做一个完整网站。

    展开全文
  • 抓取用到的python自带模块:urllib、urllib2、requests、httplib2等 Requests: import?requests response?=?requests.get(url) content?=?requests.get(url).content print "response?headers:", response....
    抓取用到的python自带模块:urllib、urllib2、requests、httplib2等
    Requests:
    import?requests
    response?=?requests.get(url)
    content?=?requests.get(url).content
    print "response?headers:", response.headers
    print "content:", content


    Urllib2:
    import urllib2
    response = urllib2.urlopen(url)
    content = urllib2.urlopen(url).read()      
    print "response headers:", response.headers
    print "content:", content


    Httplib2:
    import httplib2
    http = httplib2.Http()
    response_headers, content = http.request(url,''GET)
    print "response headers:", response_headers
    print "content:", content


    此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。


    data = {'data1':'XXXXX', 'data2':'XXXXX'}
    Requests:data为dict,json
    import requests
    response = requests.get(url=url, params=data)


    Urllib2:data为string
    import urllib, urllib2
    data = urllib.urlencode(data)
    full_url = url+'?'+data
    response = urllib2.urlopen(full_url)


    对于登陆情况的处理:
    使用表单登陆,属于post请求


    data = {'data1':'XXXXX', 'data2':'XXXXX'}
    Requests:data为dict,json
    import requests
    response = requests.post(url=url, data=data)


    Urllib2:data为string
    import urllib, urllib2
    data = urllib.urlencode(data)
    req = urllib2.Request(url=url, data=data)
    response = urllib2.urlopen(req)


    使用cookie登陆
    import requests
    requests_session = requests.session()
    response = requests_session.post(url=url_login, data=data)


    若存在验证码:
    response_captcha = requests_session.get(url=url_login, cookies=cookies)
    response1 = requests.get(url_login) # 未登陆
    response2 = requests_session.get(url_login) # 已登陆,因为之前拿到了Response Cookie!response3 = requests_session.get(url_results) # 已登陆,因为之前拿到了Response Cookie!


    对于反爬出机制:
    使用代理--适用于限制ip,也可解决由于“频繁点击”而需要输入验证码登陆的情况
    proxies = {'http':'http://XX.XX.XX.XX:XXXX'}
    Requests:
    import requests
    response = requests.get(url=url, proxies=proxies)


    Urllib2:
    import urllib2
    proxy_support = urllib2.ProxyHandler(proxies)
    opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler) urllib2.install_opener(opener) # 安装opener,此后调用urlopen()时都会使用安装过的opener对象?
    response = urllib2.urlopen(url)




    时间设置,适用于限制频率情况:
    Requests,Urllib2都可以使用time库的sleep()函数
    import time 
    time.sleep(1)


    伪装成为浏览器或者“反盗链”
    有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer


    headers = {'User-Agent':'XXXXX'} # 伪装成浏览器访问,适用于拒绝爬虫的网站
    headers = {'Referer':'XXXXX'}


    headers = {'User-Agent':'XXXXX', 'Referer':'XXXXX'}
    Requests:
    response = requests.get(url=url, headers=headers)


    Urllib2:
    import urllib, urllib2
    req = urllib2.Request(url=url, headers=headers)
    response = urllib2.urlopen(req)


    对于断线重连:


    def multi_session(session, *arg):
    while True:
    retryTimes = 20
    while retryTimes>0:
    try:
    return session.post(*arg)               
    except:
    print '.',
    retryTimes -= 1


    或者


    def multi_open(opener, *arg):
    while True:
    retryTimes = 20
    while retryTimes>0:
    try:
    return opener.open(*arg)        
    except:
    print '.', 
    retryTimes -= 1








    展开全文
  • python爬虫用到的工具和类库

    千次阅读 2018-04-23 00:40:58
    需要安装工具和 开发工具 python https://www.python.org/ pycharm https://www.jetbrains.com/pycharm/ 可以直接去官网下载安装 内置基本 urllib re >>> from urllib.request ...

    需要安装的工具和库

    开发工具

    python https://www.python.org/
    pycharm https://www.jetbrains.com/pycharm/
    可以直接去官网下载安装

    内置基本库

    urllib re

    >>> from urllib.request import urlopen
    >>> response = urlopen("http://www.baidu.com")
    >>> response
    <http.client.HTTPResponse object at 0x1032edb38>

    网络请求库

    requests http://cn.python-requests.org/zh_CN/latest/

    >>> import requests
    >>> response = requests.get("http://www.baidu.com")
    >>> response
    <Response [200]>

    浏览器工具

    selenium https://www.seleniumhq.org/

    chromedriver
    google官网:https://sites.google.com/a/chromium.org/chromedriver/downloads
    淘宝镜像:https://npm.taobao.org/mirrors/chromedriver/

    >>> from selenium import webdriver
    >>> driver = webdriver.Chrome()
    >>> driver.get("http://www.baidu.com")
    >>> driver.get("https://www.python.org")
    >>> html = driver.page_source

    phantomjs http://phantomjs.org/

    >>> from selenium import webdriver
    >>> dirver = webdriver.PhantomJS()
    >>> dirver.get("http://www.baidu.com")
    >>> html = driver.page_source

    网页解析库

    lxml http://lxml.de/
    beautifulsoup4 https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

    >>> from bs4 import BeautifulSoup as BS
    >>> html = "<html><h1></h1></html>"
    >>> soup = BS(html, "lxml")
    >>> soup.h1
    <h1></h1>

    pyquery https://pythonhosted.org/pyquery/

    >>> from pyquery import PyQuery as pq
    >>> html = "<html><h1>title</h1></html>"
    >>> doc = pq(html)
    >>> doc("html").text()
    'title'
    >>> doc("h1").text()
    'title'

    数据库

    mysql https://dev.mysql.com/downloads/mysql/
    redis https://redis.io/
    mongobd https://www.mongodb.com/
    mac os 可以使用 brew 安装 https://docs.brew.sh/

    数据库包:

    pymysql

    >>> import pymysql  https://pypi.org/project/PyMySQL/
    
    >>> conn = pymysql.connect(host="localhost", 
        user="root", password="123456", 
        port=3306, db="demo")
    >>> cursor = conn.cursor()
    
    >>> sql = "select * from mytable"
    >>> cursor.execute(sql)
    3
    >>> cursor.fetchone()
    (1, datetime.date(2018, 4, 14))
    
    >>> cursor.close()
    >>> conn.close()

    pymongo http://api.mongodb.com/python/current/index.html

    >>> import pymongo
    
    >>> client = pymongo.MongoClient("localhost")
    >>> db = client["newtestdb"]
    
    >>> db["table"].insert({"name": "Tom"})
    ObjectId('5adcb250d7696c839a251658')
    
    >>> db["table"].find_one({"name": "Tom"})
    {'_id': ObjectId('5adcb250d7696c839a251658'), 'name': 'Tom'}

    redis

    >>> import redis
    
    >>> r = redis.Redis("localhost", 6379)
    
    >>> r.set("name", "Tom")
    True
    >>> r.get("name")
    b'Tom'

    web框架包:
    flask http://docs.jinkan.org/docs/flask/
    django https://www.djangoproject.com/
    jupyter http://jupyter.org/
    运行:jupyter notebook
    快捷键 增加一行:b

    一条命令安装以上所有库

    pip install requests selenium beautifulsoup4 pyquery pymysql pymongo redis flask django jupyter
    展开全文
  • urllib的基本用法 urllib的基本组成 ... 利用Request方法构建headers模拟浏览器操作 ...POST是HTTP协议的请求方法之一,也是比较常用到的一种方法,用于向服务器提交数据。博主先介绍进行post请求的一些准备工作,然
  • Python 爬虫常用的库

    千次阅读 2017-11-03 21:47:00
    1、requests 做请求时候用到。 requests.get("url") 2、selenium 自动化会用到。 3、lxml 4、beautifulsoup 5、pyquery 网页解析 说是比beautiful 好用,语法和jquery非常像。 6、pymysql 存储...
  • python 爬虫搭建代理

    2021-04-12 12:06:25
    python 爬虫搭建代理 最近科研由于需要用到微博签到数据,于是就写了个爬虫程序爬取微博签到位置信息,普通爬取效率太低, 通过多线程又会被遭到IP封禁,于是就自己写了个创建代理池程序。 首先找到一个比较...
  • python爬虫之requests

    2019-09-22 02:30:56
    python爬虫中,要想获取url原网页,就要用到众所周知强大好用requests,在2018年python文档年度总结中,requests使用率排行第一,接下来就开始简单使用requests吧. 配置好python环境后,python配置大家...
  •  urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。其常被用到的子模块在Python3中的为urllib.request和urllib.parse,在Python2中是urllib和urllib2。 二.由易到难的爬虫...
  • 本人小白一名,最近在学习python网络爬虫,得出了一些总结。 需要用到的库有requests,os,time,以及最关键的lxml。
  • 为何要用Beautiful Soup  Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python...提升效率,我们在进行爬虫开发时候,进程会用到正则来进行查找过滤操作,纯手动会及其浪费时间。 Beautiful Soup示例...
  • python 爬虫第一篇

    2020-05-07 21:41:36
    python 爬虫用到的库有requests、beautifulSoup、Re正则表达式、以及scrapy框架 python 编辑器:python自带的IDE、Sublime Text、Wing、Visual Studio、Eclipse、PyCharm、Canopy、Anaconda ...
  • 爬虫-Python爬虫常用

    2020-07-15 16:59:13
    一、常用 1、requests 做请求时候用到。 requests.get(“url”) 2、selenium 自动化会用到。 3、lxml 4、beautifulsoup 5、pyquery 网页解析 说是比beautiful 好用,语法和...Python内置Http请求 urllib.
  • 解析页面 用到的库import BeautifulSoup 数据解析可能用到的方法有 bs4 正则 xpath 获取文件的绝对路径 import os 参考文章 导入时间模块 import time 使用time中的sleep属性,from time improt sleep 模拟手动...
  • 各位技术大牛,小弟初学python遇到验证码问题。当页面翻页到下一页时需要进行验证码识别验证才能打开页面。本人想实现自动翻页到下一页时等待手工输入验证码提交,然后再自动爬取数据或者设置某个按键(如空格键)...
  • 使用urllib处理异常 发起请求难免会出现各种异常,我们需要对异常进行处理,这样会使得程序比较人性化。 异常处理主要用到两个类,urllib.error.URLError和urllib.error.HTTPError。 URLError URLError 是 ...
  • 只需要用到几个,很短一些代码能够完成一个简易的爬虫程序。 比如:我们希望爬去一个家具板网站内容,那么就可以了写一个爬虫程序,代码如下: from bs4 import BeautifulSoup from urllib.parse im...
  • 一、Python常用爬虫库 1、requests 做请求时候用到。 requests.get("url") 2、selenium 自动化会用到。 3、lxml 4、beautifulsoup 5、pyquery 网页解析 说是比beautiful 好用,语法和jquery非常像。 6、...
  • from openpyxl import workbook#导入我们要用到的库 from bs4 import BeautifulSoup as bs class TestYourWord: #这个功能复制下来,并且做点改良,搞一个网页版没有的功能 ———— 自动生成错词本 def __init__...
  • 爬虫的编程语言有不少,但 Python 绝对是其中的主流之一。今天就为大家介绍下 Python 在编写网络爬虫常常用到的一些。请求:实现 HTTP 请求操作urlli...
  • 学习Python爬虫用到的几个重要内置urllib, http【函数】等,用于下载网页; 学习正则表达式re、BeautifulSoup(bs4)、Xpath(lxml)【这些都是函数哦】等网页解析工具; 开始一些简单的网站爬取...
  • 想要写爬虫去获取数据,前提是先要对写爬虫需要用到的工具有足够的了解,这样才能有最大的可能实现需求。这篇文章的两位主角就是在做爬虫是处理网络请求时最基本、常用的工具(当然python处理网络请求不止这两个)...
  • 1、requests(获取请求) 2、BeautifulSoup(bs4)(解析器,用来解释网页数据) 3、lxml 4、beautifulsoup 5、pyquery 网页解析 说是比beautiful 好用,语法和...10、selenium 自动化会用到 11、xpath 12、scrapy .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,034
精华内容 413
关键字:

python爬虫用到的库

python 订阅
爬虫 订阅