python爬虫笔记

  学了一波爬虫,很好玩,是使用python实现的。爬虫要做的工作基本上分为三步:

  (1)爬取网页源码;

  (2)解析/过滤源码获得需要的信息;

  (3)保存爬取的信息。

  先来介绍如何爬取网页源码,我学到的是使用requests库的requests.get()函数实现的,这个函数的参数是一个url地址,返回url对应网站的源码信息,有时候需要对返回信息的编码格式做处理,模板代码如下:

import requests

def get_response(url):
    url = "www.baidu.com"
    res = requests.get(url)
    res.encoding = "UTF-8"
    return res.text

  接下来介绍如何对爬取到的网页源码进行解析过滤得到所需信息,可以使用beautifulSoup、xpath、正则表达式等方式,这里介绍xpath,我认为它很好用。假如我们需要获得某个html源码中全部h1标签的文本信息,模板代码如下:

from lxml import etree

def parse_html(html):
	tree = etree.HTML(html)
	ls = tree.xpath("//h1")
	return ls

 在xpath函数的参数中,//表示从任意位置开始查找。同时,可以对所需查找的标签进行谓语修饰,假如我们需要查找所有class属性为abc的div标签,谓语修饰格式如下:

ls = tree.xpath("//div[@class='abc']")

再假如,我们需要找到所有div标签中的a标签,可以这么写:

ls = tree.xpath("//div/a")

  第三,关于信息的保存,我自己使用过保存为.txt文件或者excel表格,很简单的文件读写操作,不再记录。

  最后,记录一下关于爬虫的伪装:

  (1)修改get()函数的headers参数值,假装成浏览器;

  (2)time.sleep(sec)设置延时,模拟人类用户操作;

  (3)代理ip池,动态改变ip代理,ip代理也可以通过对get()函数的proxies参数进行修改实现,构建代理ip池可以参考西刺代理;

  (4)使用其他的库模拟浏览器。

posted @ 2019-04-17 15:36  potato226  阅读(140)  评论(0编辑  收藏  举报