python爬虫(三)

Beautiful Soup

简介

Beautiful Soup是python的一个库,主要功能是从网页抓取数据。
它是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。
通过使用该库,可以不编写正则就可以方便的实现网页信息的抓取。

继续阅读全文 »

python爬虫(二)

urllib模块

python2中有urlliburllib22个模块,虽然urllib2是升级版,但是依然不能替代urllib,各有所长。
python3中全部封装成一个urllib

python2中的ubllib和urllib2

urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,urllib不可以伪装你的User Agent字符串等。
urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。

继续阅读全文 »

python爬虫

爬虫介绍

爬虫定义

爬虫是请求网站并提取自己所需要数据的过程。通过我们的程序,可以代替我们向服务器发送请求,然后进行批量的数据下载。

爬虫基本流程

  1. 发起请求
    通过url向服务器发送requests请求,请求可以包含额外的header信息。

    继续阅读全文 »

python数据处理(二)

pdf处理

pdf是二进制文件,使用PyPDF2模块进行处理,安装方法pip install PyPDF2

提取文本

  1. 导入PyPDF2模块,然后以读二进制模式打开pdf文件,并将其保存到对象pdfFileObj。
  2. 调用pdfFileReader()并传入pdfFileObj,将PdfFileReader对象保存到pdfReader。
  3. 获取pdf文件总页数调用PdfFileReader对象的numPages属性。
  4. 从某页中提取文本,首先通过PdfFileReader对象的getPage()方法得到Page对象,然后调用Page对象的extractText()方法得到文本字符串。

    继续阅读全文 »

python数据处理

csv数据处理

csv表示”Comma-Separated Values(逗号分隔的值)”,csv文件时简化的电子表格,保存为纯文本文件。
python中解析csv文件可以使用csv模块。
注意:csv是文本文件,通过打开文件的操作,将其内容读入一个字符串,然后通过字符串的split()方法处理每行文本取得值。需要注意csv文件中也有自己的转义字符,允许逗号或者其他字符作为值的一部分,split()方法无法处理这部分转义字符。所以处理csv文件时为避免这些潜在的问题,建议使用csv模块处理csv文件。

继续阅读全文 »

python邮件发送

python中邮件发送可以使用smtplib模块,也可以使用第三方的yagmail模块。

邮件收发简介

假如从xx@126.com发送一份邮件至xx@sina.com。首先使用Foxmail等软件写好邮件发送,这些软件称为MUA(Mail User Agent,邮件用户代理)。
邮件从MUA发出去之后,先发到MTA(Mail Transfer Agent,邮件传输代理),也就是邮件服务提供商。我们的邮件是从126.com发送的,所以先被投递到网易提供的MTA,再由网易的MTA发到对方服务商,也就是新浪的MTA。
邮件到达新浪的MTA后,由于对方使用的是新浪的邮箱,因此新浪的MTA会将邮件投递至最终的目的地MDA(Mail Delivery Agent,邮件投递代理)。
邮件到达MDA之后就会存放在某个服务器,我们将这个长期保存邮件的地方称为电子邮箱。
编写程序发送邮件本质就是编写MUA把邮件发送到MTA;收取邮件就是编写MUA从MDA收邮件。

继续阅读全文 »