美文网首页
爬虫基础

爬虫基础

作者: 082e63dc752b | 来源:发表于2019-04-25 13:45 被阅读0次

    准备阶段:

    数据库:mongodb,redis,mysql

    mongodb安装注意(切记):

    1. 关闭防火墙

    2. 关闭 mongodb compress

                新版的mongodb(4.0)已经自动安装成为服务, 安装完成后,在浏览器输入地址 localhost:27017,

    出现如下提示,表示安装成功

                  It looks like you are trying to access MongoDB over HTTP on the native driver port.

                    简单执行:

                      .\mongo             
                      > db

                      test

                    > db.test.insert({'a':'b'})

                      WriteResult({ "nInserted" : 1 })

                  可以安装 robomongo可视化管理mongodb。类似 navicat

    爬虫常用库:

    urllib,re  (内置库)

    需要安装的:

    requests

    selenium (驱动浏览器的库)

              pip install selenium

              可以用webdriver调用 chrome。但是会打开一个浏览器窗口,需要下载 chromedriver,百度搜

              还可以安装一个 phantomjs ,需要下载,(phantomjs.org ), 这个没有浏览器窗口。纯命令行操作。

            使用: from selenium import webdriver

                        webdriver = webdriver.PhantomJS()

                        webdriver.get('http://www.baidu.com')

                        webdriver.page_source

    lxml (xpath 解析)

          pip install lxml

    beautifulsoup

            pip install beautifulsoup4

            from bs4 import BeautifulSoup

            soup = BeautifulSopu('<html></html>','html')

    pyquery  ( 像 jquery)

            pip install pyquery

          from pyquery import PyQuery as pq

    doc = pq('<html></html>')

    doc = pq('<html>hello</html>')

    result = doc('html').text()

    result

    存储库

    pymysql

          pip install pymysql

          import pymysql

          conn = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='mysql')

          cursor = conn.cursor()

          cursor.execute('select * from db')

          cursor.fetchone()

    flask

    pymongo

    django

    jupyter

            jupyper notebook 会打开一个浏览器,就像本地操作python一样简单。

    端口是8888,http://localhost:8888

    get和post区别

    get 请求会把参数都写在网址上。可以直接通过关键词进行筛选

    post必须构造一个表单,然后把表单请求传给服务器。相对来说更安全一些。

    请求url

    https://www.baidu.com/s?wd=图片

    document  html 

    请求头  request headers 

    quqery string parameters

    爬虫过程

    请求(requests),返回(response),分析(xpath,beautifulsoup),存储(纯文本,关系型数据库mysql,非关系型数据库mongodb,redist)

    如遇到javascrip,requests则取不到js渲染的信息,可以使用selenium 导入一个浏览器对象webdriver(chrome或者phantomjs),还可以用splash获取。还可以用pyv8,Ghost.py等等来下载。

    相关文章

      网友评论

          本文标题:爬虫基础

          本文链接:https://www.haomeiwen.com/subject/awaagqtx.html