python爬虫

链家二手房楼盘爬虫

痴心易碎 提交于 2020-03-06 06:51:06
前言 想看下最近房价是否能入手,抓取链家 二手房 、 新房 的信息,发现广州有些精装修 88平米 的 3房2厅 首付只要 29 万!平均 1.1 万/平: 查看请求信息 本次用的是火狐浏览器32.0配合 firebug 和 httpfox 使用,基于 python3 环境,前期步骤: 首先打开 firefox 浏览器,清除网页所有的历史纪录,这是为了防止以前的 Cookie 影响服务器返回的数据。 F12 打开 firebug ,进入链家手机端首页 https://m.lianjia.com ,点击 网络 -> 头信息 ,查看请求的头部信息。 发现请求头信息如下,这个是后面要模拟的: Host: m.lianjia.com User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive 查看导航链接 点击 firebug

python爬虫教程:如何用40行Python代码实现天气预报和每日鸡汤推送功能

假如想象 提交于 2020-03-06 03:43:41
这篇文章主要介绍了通过40行Python代码实现天气预报和每日鸡汤推送功能,代码简单易懂,非常不错具有一定的参考借鉴价值 ,需要的朋友可以参考下 情人节刚过去几天,但是这和我们程序员有什么关系呢,对我们来说,万物皆对象。但是啊,小编为了讨得仰慕已久的女神的欢心(真香),便用python爬取了爱词霸网站的每日一句和天气预报网站的天气预报,并且每天定时将内容推送到女神的手机短信中(代码实现,不需要短信费哦)。 好东西要学会分享,因此小编打算分三个步骤来教大家实现,最后会给出源代码。 第一步,实现爬取爱词霸网站的每日一句: 爱词霸的每日一句包括了英文版和中文版。爬取下来实际上4行有效代码就能搞定,不过为了提高代码的重用性,就将这个功能封装成了一个函数,以后需要时候用一行代码调用它便行了。下面贴出第一步的源代码,注释写得很详细了,有不懂的可以在文章下面提问哦。 # 小技巧:pycharm中,alt+enter快捷键可快速安装缺失库 import json import requests # 爬取爱词霸每日鸡汤 def get_iciba_everyday_chicken_soup(): url = 'http://open.iciba.com/dsapi/' # 词霸免费开放的jsonAPI接口 r = requests.get(url) all = json.loads(r.text)

python爬虫教程: Python利用Scrapy框架爬取豆瓣电影示例

笑着哭i 提交于 2020-03-06 02:15:43
本文实例讲述了Python利用Scrapy框架爬取豆瓣电影。分享给大家供大家参考,具体如下: 1、概念 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 通过Python包管理工具可以很便捷地对scrapy进行安装,如果在安装中报错提示缺少依赖的包,那就通过pip安装所缺的包 pip install scrapy scrapy的组成结构如下图所示 引擎Scrapy Engine,用于中转调度其他部分的信号和数据传递 调度器Scheduler,一个存储Request的队列,引擎将请求的连接发送给Scheduler,它将请求进行排队,但引擎需要时再将队列中的第一个请求发送给引擎 下载器Downloader,引擎将请求Request链接发送给Downloader之后它就从互联网上下载相应的数据,并将返回的数据Responses交给引擎 爬虫Spiders,引擎将下载的Responses数据交给Spiders进行解析,提取我们需要的网页信息。如果在解析中发现有新的所需要的url连接,Spiders会将链接交给引擎存入调度器 管道Item Pipline,爬虫会将页面中的数据通过引擎交给管道做进一步处理,进行过滤、存储等操作 下载中间件Downloader Middlewares,自定义扩展组件

Python爬虫连载12-爬虫正则表示式、BeautifulSoup初步

柔情痞子 提交于 2020-03-06 02:03:01
一、正则常用的方法 1.match:从开始位置开始查找,一次匹配 2.sear​ch:从任何位置查找,一次匹配 3.findall​:全部匹配,返回列表 4.finditer​:全部匹配,返回迭代器 5.​split:分割字符串,返回列表 ​6.sub:替换 7.匹配中文 中文unicode编码[u4e00-u9fa5] 8.贪婪算法和非贪婪算法 ​贪婪模式:在整个表达式匹配成功的前提下,尽可能的多的匹配 ​非贪婪模式:在整个表达式匹配成功的前提下,尽可能的少的匹配 python中默认时贪婪模式 import re ​ s = r"([a-z]+)( [a-z]+)" pattern = re.compile(s,re.I) ​ m = pattern.match("Hello world wide web") #group(0)表示返回匹配成功的整个字串 s = m.group(0) print(s) #返回匹配成功的整个子串的跨度 a = m.span(0) print(a) #group(1)表示返回的第一个分组匹配成功的字串 s = m.group(1) print(s) #span(1)返回匹配成功的第一个子串的跨度 a = m.span(1) print(a) #groups()返回的是匹配的所有分组子串都输出出来,不包含整个匹配的子串 b = m.groups()

小白学爬虫第二期---一个简单的爬虫实例

亡梦爱人 提交于 2020-03-05 23:06:20
打开Pycharm,新建一个项目,创建一个Python File 引入requests库 import requests 然后创建一个url变量,它的值就是你想要爬取的网页 # 目标网址 url = 'www.baidu.com' 使用requests库中的request GET方法 import requests url='www.baidu.com' str=requests.get(url) 其中get是request(‘GET’)方法的重写,暂时不用考虑怎么回事 然后使用print函数将str.text打印出来 print(str.text) 在控制台打印的结果 这就是最简单的一个爬虫实例,后续会介绍爬虫一步一步的知识。 来源: CSDN 作者: VioletNris 链接: https://blog.csdn.net/qq_17035603/article/details/104683167

github 搜索技巧

三世轮回 提交于 2020-03-05 20:46:25
in:name 爬虫 //搜索名字中带有"爬虫"的 in:readme 爬虫 //搜索readme中带有"爬虫"的 in:description 爬虫 //搜索描述中带有"爬虫"的 stars:>1000 //搜索stars>1000的 forks:>1000 //搜索forks>1000的 pushed:>2019-09-01 //搜索最近更新于2019年9月1日之后的 language:Python //搜索Python的项目 来源: https://www.cnblogs.com/meetuj/p/12422314.html

python爬虫 day01

会有一股神秘感。 提交于 2020-03-05 20:13:59
1.http   (1)当用户在地址输入了网址 发送网络请求的过程是什么   (2)http 的请求方式:     get 请求: 比较便捷  缺点:不安全;明文  参数的长度有限制     post请求:比较安全  数据整体没有限制  上传文件:put(不完全的);delete(删除一些信息)  发送网络请求  请求头里面 requesrtheader  返回数据:response     head(请求头):accept:文本的格式  accept-Encoding:编码格式  Connection:长链接 短连接  Cookie:验证用的  Host:域名  Referer:标志从哪个页面跳转过来的  User-Agent:浏览器和用户的信息  2.爬虫的价值   (1)数据的买卖:数据分析:出分析报告  流量   (2)阿里指数;百度指数   (3)合法性:灰色产业     政府没有法律规定爬虫是违法的,也没有法律规定爬虫是合法的     公司概念:公司让你怕数据库(窃取商业机密) 违法   (4)爬虫只可以爬取用户能访问到的数据     爱奇艺的视频(VIP 和 非VIP)     普通用户  只能看非VIP的 爬取非VIP的视频     VIP 爬取VIP的视频     普通用户想要爬取VIP的视频(黑客) 3.爬虫的分类   (1)通用爬虫     1.使用搜索引擎

那些年我们一起写过的Python爬虫

女生的网名这么多〃 提交于 2020-03-05 20:11:56
在一家能从业务里源源不断产生数据的公司工作是一件很幸福的事情,但很多人如我就没有这样幸运。没有数据又想蹭住人工智能的风口,一种方法是潜心学术研究算法,但用来做实验的数据往往都是学术界或者一些好心的工业界提供的低配版数据,练就的屠龙刀倚天剑离实战还有很多距离;另一种方法就是费尽心机寻找真实数据。在聊(已经学不动的)各种神乎其技的算法之余,我也想简单总结下那些年我们写爬虫的经验。 ​ 甄选网站 写爬虫之前先要从需求出发寻找合适的目标网站和数据源。 首先,能有API调用或者能从别的渠道买到的数据就尽量别再自己写爬虫了。除非目标网站的数据非常容易爬,否则写爬虫是一个非常繁琐且需要长期斗争的体力活。从各个IT大厂的云服务,到一些爬虫起家的数据公司,甚至在某宝上面,都有大量的API或者数据的服务。首选API的服务因为一般数据提供商会按照API调用次数收费,配合API的query条件可以比较好满足自己的特定需求,数据提供商一般也会保持数据更新;如果是直接买数据一开始报价中就要谈好更新数据的后续报价。 几个数据源的例子,比如百度数据开放平台: 香港政府的资料一线通(更新很快,最新的冠状病毒数据也已经传在上面并且保持更新): 如果真的要自己写爬虫,那就要开始调研目标数据所在的网站。一般都会有多个网站提供目标数据,我们要挑看上去数据简单排列整齐的(一个表格很多下一页那种),排版看上去土土的

爬虫初学——爬取京东商品的评论(二)

夙愿已清 提交于 2020-03-05 18:24:52
酱菜Seven7原创,转载请注明出处。 使用的手段:数据库Mysql, 语言python,正则表达式re 在获取了评论url的情况下 (获取京东评论的url方法) ,现在我们可以来爬取用户昵称和url了。作为一个初学者,我用的正则表达式,来对那url的数据,进行匹配获取。 一、根据内容,编写合适的正则表达式 通过分析打开的url地址的数据,我们可以找到所需的两个规律: 1、用户昵称部分 : 所以,我们针对提取用户的正则表达式如下: r'\"nickname\":\"([^",]+)\",\"replyCount2\"' 2、评论部分: 评论部分,因为会有无追评,而造成结尾不一致: 情况一: 情况二: 匹配评论的正则表达式为: r'\"content\":\"([^"]+)\",\"(?:creationTime|vcontent)\"' 二、爬取数据的主要代码: 代码功底不好,不要嫌弃,而且赶时间,能用就行,哈哈哈哈哈 导入的库: import requests import re import pymysql 第一部分 在此部分,我是组装url,循环4类评论。然后每一类,循环页码,这样就可以读取每类每页的url的数据,再调用方法来爬取了。我是创建了数据库的四个表,分别存储,要是没有这个需求的,存一个表就好了。 if __name__ == "__main__" :

requests,bs4与lxml配合写爬虫(也许没有必要,就是尝试一下),保存到文档、数据库或者直接输出。

不羁的心 提交于 2020-03-04 09:54:32
python3.8 pycharm(2019.3.1):python IDE,python的集成开发环境 1、网页源码 r = requests.get(url) tree = lxml.etree.HTML(r.text) soup = bs4.Beautifulsoup(url, ‘lxml’) 到目前为止,通过阅读相关文本,感觉tree和soup中的内容是一样的。 2、进行信息提取 info0 = tree.xpath() info1 = soup.find_all() 3、数据的保存与输出 for i in info: (1)文档 i = info.tag[‘property’] i = info.find() f = open(‘file_name’, ‘a’) f.write(i) f.close() (2)数据库(MySql) connect = Connect() curcor = connect.curcor() # 执行sql语句操作 curcor.execute() cursor.close() connect.close() (3)终端 print(i) 来源: CSDN 作者: 安西宁 链接: https://blog.csdn.net/weixin_44754632/article/details/104646496