python爬虫采集

最近有个项目需要采集一些网站网页,以前都是用php来做,但现在十分流行用python做采集,研究了一些做一下记录。

采集数据的根本是要获取一个网页的内容,再根据内容筛选出需要的数据,

python的好处是速度快,支持多线程,高并发,可以用来大量采集数据,缺点就是和php相比,python的轮子和代码库貌似没有php全,而且python的安装稍微麻烦了点,折腾了好久。

python3的安装见连接:

工具编辑器:

PyCharm :一款很好用的python专用编辑器,可以编译和运行,支持windows

python采集用到的库:

requests:用来获取网页的内容,支持https,用户登录信息等,很强大

lxml:用来解析采集的html内容,十分好用,比较灵活,但很多用法不好找,api文档不好找。

pymysql:连接操作mysql,这个就不用说了,将采集到的信息存到数据库。

基本上这三个就可以支持采集网页

安装代码:

用pip安装调用代码:

pip install pymysql

pip install requests

pip install lxml

采集数据:

采集的代码和打印的结果:

# coding=utf-8 #设置页码编码,解决中文乱码

import re

import pymysql

import requests

from mydb import *

from lxml import etree

#模拟浏览器访问

headers = {

'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'

}

#requests获取网页

respose = requests.get('https://www.cnblogs.com/mengzhilva/', headers=headers)

content = respose.text #获取内容

html = etree.HTML(content) #用lxml格式化

result = etree.tostring(html, encoding='utf-8') # 解析对象输出代码

titles = html.xpath('//div[@class="day"]//div[@class="postTitle"]//a/text()') #查找相应数据

url = html.xpath('//div[@class="day"]//div[@class="postTitle"]//a/@href') #查找相应数据

print(titles)

print(url)

i=1

for val in titles:

url = html.xpath('//div[@class="day"][' + format(i) + ']//div[@class="postTitle"]//a/@href') # 根据循环查找列表地址

print(val)

print(url)

#这里可以调用单独的函数来抓取详情页内容

i+=1

python爬虫数据采集_python爬虫采集相关推荐

  1. python快手数据采集_Python爬虫:fiddler抓取快手

    Fiddler脚本 if (oSession.uriContains("https://apissl.ksapisrv.com/rest/n/feed/")){ var strBo ...

  2. python官网学习爬虫资料_Python爬虫学习?

    1 爬虫是互联网上最常见的一种东西了吧. 爬虫这东西每天都在网上爬大量的信息,各大搜索引擎厂商每天都有上百万的爬虫在网络上活动,这些爬虫的作用就是给搜索引擎采集互联网上最新的内容,采集来的内容经过分类 ...

  3. python科技限制_Python爬虫怎么突破限制?经常遇到这四种限制突破方法

    Python爬虫常常用于搜索引擎,也可以进行数据的采集,现在很多企业都需要通过爬虫进行数据的采集,来分析市场的变化,同行的情况,还可以进行价格的对比等等.但是你的同行并不想让你获得这些信息,会在网站上 ...

  4. 花一千多学python值吗_Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下...

    原标题:Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多, ...

  5. python流行的爬虫框架_Python爬虫相关框架

    Python爬虫相关框架,Python的爬虫框架就是一些爬虫项目的半成品.比如我们可以将一些常见爬虫功能的实现代码写好,然后留下一些接口,在做不同的爬虫项目时,我们只需要根据实际情况,只需要写少量需要 ...

  6. python数据入库_python爬虫(中)--数据建模与保存(入库)

    前言 前面,讲的是提取出来的数据保存进一个extracted_data,再保存进extracted_data_,变成一个list包含list的情况,当然你只提取一项,那就没有必要这么做了,可是我的项目 ...

  7. python电影爬虫背景介绍_python爬虫-爬虫电影八佰词云

    #数据获取 importrequestsimportreimportcsvimportjiebaimportwordcloud#通过循环实现多页爬虫#观察页面链接规律#https://movie.do ...

  8. python爬虫代理服务器_Python爬虫之服务器:代理IP万能

    最近很多同学租服务器用来学习爬虫,对于大部分小白来说,爬虫非常复杂.技术门槛很高.但我们可以通过爬虫获取大量的价值数据,经分析可以发挥巨大的价值,比如:豆瓣.知乎,爬取优质答案,筛选出各话题下热门内容 ...

  9. python爬虫难点_Python爬虫技巧

    ​在本文中,我们将分析几个真实网站,来看看我们在<用Python写网络爬虫(第2版)>中学过的这些技巧是如何应用的.首先我们使用Google演示一个真实的搜索表单,然后是依赖JavaScr ...

最新文章

  1. leetcode 二分查找 Search in Rotated Sorted ArrayII
  2. 参加51CTO学院软考培训,我通过啦!
  3. 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-1 发布
  4. app启动页数秒加载 代码_干货 | App 自动化测试痛点(弹框及首页启动加载完成判断处理)
  5. Java 14:有用的NullPointerException消息
  6. orm java_Java 8 Friday:不再需要ORM
  7. 在SQL2005中,关闭SQL Browser服务,增强数据库的安全性
  8. Android设备中直接通过shell操作GPIO或者上层c服务直接操作GPIO
  9. 自豪地采用WordPress,如何删除链接?
  10. [转载]JSP利用组件实现文件上传的全攻略
  11. 激活Windows Vista Home Basic Aero玻璃效果
  12. Mysql DBA 高级运维学习之路-mysql数据库乱码问题
  13. linux-架构-网络波动
  14. ADAS——高级驾驶辅助系统介绍
  15. 线程池、volatile、原子性、并发工具类
  16. JSPlumb文档翻译
  17. MacBook Pro(苹果系统macOS)全国增值税发票查验平台无法获取验证码解决
  18. StringBuilder.AppendFormat(String, Object, Object) 方法
  19. 王垠 --清华梦的粉粹
  20. Flink流处理过程的部分原理分析

热门文章

  1. python判断正数和负数教案_正数和负数优秀教案
  2. 堆栈计算机的原理和实现
  3. 慧算账V2.0版发布,互联网记账再升级
  4. 怎样退出计算机安全模式,如何退出?进入安全模式之后如何安全的退出啊 – 手机爱问...
  5. 2013年最实用的工作记事本(excel模板)
  6. 一文道尽JavaScript 20年的发展史
  7. 回忆鸭掌门的麻辣兔丁
  8. FeelTheBase(进制转换工具)v1.2.0.1版本更新
  9. buildroot快速入门
  10. 计算机网络之应用层与传输层