当前,有许多政府或企事业单位会在网上为公众提供相关的公开数据.以 http://api.help.bj.cn/api/均 .cn/api /网站为例,打开这个链接,大家可以看到多种可供调用的数据 . 进入 http://api.help.bj.cn/api/网站,单击“空气质量 API ” . 我们可以看到其中提供的数据格式为 JSON 格式 通过上图所示的接口地址, apis/ aqilist/ . 其中数据结构如下 : 可知保存该数据的 完整链接为 http://api.help.bj.cn…
Scrapy框架它能够帮助提升爬虫的效率,从而更好地实现爬虫.Scrapy是一个为了抓取网页数据.提取结构性数据而编写的应用框架,该框架是封装的,包含request异步调度和处理.下载器(多线程的Downloader).解析器selector和twisted(异步处理)等.对于网站的内容爬取,其速度非常快捷. 下面将使用Scrapy框架抓取某证券网站A股行情,爬取过程分为以下五步: 一:创建Scrapy爬虫项目: 二:定义一个item容器: 三:定义settings文件进行基本爬虫设置: 四:编…
用python爬取动态网页时,普通的requests,urllib2无法实现.例如有些网站点击下一页时,会加载新的内容,但是网页的URL却没有改变(没有传入页码相关的参数),requests.urllib2无法抓取这些动态加载的内容,此时就需要使用Selenium了. 使用Selenium需要选择一个调用的浏览器并下载好对应的驱动,我使用的是Chrome浏览器. 将下载好的chromedrive.exe文件复制到系统路径:E:\python\Scripts下,如果安装python的时候打path…
我们在开发者模式下不仅可以找到URL.Form Data,还可以在Request headers 中构造浏览器的请求头,封装自己.服务器识别浏览器访问的方法就是判断keywor是否为Request headers下的User-Agent,因此我们只需要构造这个请求头的参数.创建请求头部信息即可. headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like…
这篇博文主要是对我的这篇https://www.cnblogs.com/tszr/p/12198054.html爬虫效率的优化,目的是为了提高爬虫效率. 可以根据出发地同时调用多个CPU,每个CPU运行一个出发地的脚本,如果你的电脑有8个CPU,那么将会每次同时获取8个出发地的数据. 代码如下: import time import json import pymongo import requests import urllib.request #使用MongoDB创建数据库.表 client…
1.下载MongoDB 官网下载:https://www.mongodb.com/download-center#community 上面这张图选择第二个按钮 上面这张图直接Next 把bin路径添加到path中,如下图: 在安装路径下自己创建一个文件mongo.conf,配置内容如下: #数据库路径dbpath=E:\mongodb\data#日志输出文件路径logpath=E:\mongodb\log\mongo.log#错误日志采用追加模式logappend=true#启用日志文件,默认启…
天气预报网址:https://id.heweather.com/,这个网站是需要注册获取一个个人认证后台密钥key的,并且每个人都有访问次数的限制,这个key就是访问API的钥匙. 这个key现在是要自己创建的,名称自己写,key值可以不写,创建的时候会自动生成. 接下来就是要阅读这个API文档. 包括上面怎么创建获取这个key这个API文档也有介绍的. 选择API这部分来阅读. 接口地址: #获取城市列表 import requests url = 'https://cdn.heweather…
import requests from bs4 import BeautifulSoup url = "http://www.cntour.cn/" strhtml = requests.get(url) soup = BeautifulSoup(strhtml.text,"lxml") #下面的参数由网站开发者模式中Copy->copy selector复制而来 data = soup.select("#main > div > di…
import requests url = 'http://www.cntour.cn/' strhtml = requests.get(url) print(strhtml.text) URL='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #post请求需要写请求访问,请求内容可以在对应网页的开发者模式中获取,谷歌浏览器显示不出来,我使用的是IE浏览器 Form_data = { 'action':…
绘制图形所需的数据源通常是不固定的,比如,有时我们会需要从网页抓取, 也可能需从文件或数据库中获取. 利用抓取网页数据技术,把我国 1990 年到 2016 年的 GDP 数据抓取出来 ,再利用 MatplotUb 进行绘图显示 . 经搜索发现, http://value500.com/M2GDP.html 网页中有我们所需数据 . 将鼠标移到表格每一行的“年份”处井右击,在弹出的快捷菜单中选择“检查” 选项. Chrome 会打开网页开发工具,并自动显示鼠标位置的 html 程序代码,我们可根…