爬虫
FreeSpider公众号
全网同名
展开
-
python3 爬虫 爬取智联招聘岗位信息
这套程序基于python3 ,使用requests和re正则表达式,只需要将程序保存为.py文件后,更改程序中文件存储路径,即可将抓取到的数据保存到指定路径的Excel文件中。程序在终端中启动,启动命令:#python3 文件名.py 关键字 城市python3 zhilian.py python 杭州代码如下:# coding:utf-8import requestsimpo...原创 2018-08-06 00:20:43 · 2808 阅读 · 8 评论 -
爬虫url链接拼接方法
import urllib.requestimport urllib.parsedef get_method_params(): url = "http://www.baidu.com/s?" params={ "wd":"美女" } #将字典转换成字符串形似 str_params=urllib.parse.urlencode(para...原创 2019-05-09 13:25:18 · 3752 阅读 · 1 评论 -
requests模块获取请求和响应的信息
# 1.记得安装 第三方 模块 requests# pip install requestsimport requestsclass RequestSpider(object): def __init__(self): url = 'https://www.baidu.com' headers = { 'User-Ag...原创 2019-05-09 22:13:23 · 10743 阅读 · 0 评论 -
requests身份认证
原创 2019-05-10 10:49:21 · 491 阅读 · 1 评论 -
爬虫的基本流程
网络爬虫的基本工作流程如下:首先选取一部分精心挑选的种子URL;将这些URL放入待抓取URL队列;从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机 的 ip,并将 URL 对应的网⻚下载下来,存储进已下载网⻚库中。此 外,将 这些 URL 放进已抓取 URL 队列。分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL 放入 待抓取 URL 队列,从而进入下一...原创 2019-05-15 16:41:24 · 1661 阅读 · 0 评论 -
Python json.dumps() 中文乱码问题
有一段代码如下: def save_data(self,data): print(data) #ensure_ascii=False data=json.dumps(data) print(data) with open('ljd.json',mode='w',e...原创 2019-05-11 21:08:03 · 28248 阅读 · 3 评论 -
爬虫程序的优化策略
1、注意很多网站,可以先用代理ip+ua(ua库随机提取)访问,之后会返回来一个cookie,那ip+ua+cookie就是一一对应的,然后用这个ip、ua和cookie去采集网站,这样效果会比较好2、有些网站反爬取的措施应该比较强的。访问之后每次清除缓存,这样能有效规避部分网站的检测;但是有些网站更严格的判断,如果都是新链接从ip发出,也会被判定拒绝(直接403拒绝访问),因此有些爬虫客户会去...转载 2019-07-05 13:21:49 · 593 阅读 · 0 评论 -
UnicodeEncodeError: 'ascii' codec can't encode characters in position: ordinal not in range(128)
import urllib.requestimport urllib.parseimport stringdef get_method_params(): url = "http://www.baidu.com/s?wd=" #拼接字符串(汉字) #python可以接受的数据 #https://www.baidu.com/s?wd=%E7%BE%8E%E...原创 2019-05-09 13:23:29 · 709 阅读 · 0 评论 -
23个爬虫开源项目
23个爬虫开源项目,在此献上!WechatSogou – 微信公众号爬虫基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。github地址:https://github.com/Chyroc/WechatSogouDouBanSpider – 豆瓣读书爬虫可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到...原创 2019-03-22 13:10:05 · 1099 阅读 · 0 评论 -
Scrapyd 安装与配置
本文以ubuntu16.04为基础进行安装。1、使用命令安装scrapyd:sudo pip3 install scrapyd2、配置 执行如下命令创建配置文件:sudo mkdir /etc/scrapydsudo vim /etc/scrapyd/scrapyd.conf然后到如下网址将配置文件内容复制进去,保存即可:https://scrapyd.readth...原创 2018-08-29 18:17:12 · 2207 阅读 · 0 评论 -
selenium报错“Element is not clickable at point”及解决方法
出现了一种反爬机制,你要点击的按钮如果不在可视范围内,就定位不到元素而保存,所以需要拉动滚动条,让元素呈现在可视范围内,才可以。 问题原因:不在视窗里,需要拉滚动条。解决办法:1、移动到页面最底部。driver.execute_script(“window.scrollTo(0, document.body.scrollHeight)”)2、移动到窗口绝对位置坐标,如下移动到...原创 2018-08-10 10:11:08 · 1198 阅读 · 0 评论 -
selenium_webdriver(python)控制浏览器滚动条
#coding=utf-8 from selenium import webdriver import time #访问百度 driver=webdriver.Firefox() driver.get("http://www.baidu.com") #搜索 driver.find_element_by_id("kw").send_keys("selenium") d..转载 2018-08-08 23:33:28 · 684 阅读 · 0 评论 -
爬虫随笔 一
爬虫的概念爬虫是模拟浏览器发送请求,获取响应爬虫的分类通用爬虫聚焦爬虫爬虫的流程url—>发送请求,获取响应—>提取数据—>保存发送请求,获取响应—>提取url通用搜索引擎的局限性通用搜索引擎所返回的网页里90%的内容无用。图片、音频、视频多媒体的内容通用搜索引擎无能为力不同用户搜索的目的不全相同,但是返回内容相同...原创 2018-08-19 23:04:04 · 215 阅读 · 0 评论 -
爬虫随笔 二
判断请求否是成功assert response.status_code==200url编码https://www.baidu.com/s?wd=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2字符串格式化的另一种方式"我是{}个爬虫".format("一")使用代理ip准备一堆的ip地址,组成ip池,随机选择一个ip来时用...原创 2018-08-19 23:13:32 · 333 阅读 · 0 评论 -
爬虫随笔 三
寻找登录的post地址在form表单中寻找action对应的url地址post的数据是input标签中name的值作为键,真正的用户名密码作为值的字典,post的url地址就是action对应的url地址抓包,寻找登录的url地址勾选perserve log按钮,防止页面跳转找不到url寻找post数据,确定参数参数不会变,直接用,比如密码不是动态加密的时候参数会变 参数在...原创 2018-08-19 23:17:21 · 163 阅读 · 0 评论 -
爬虫随笔 四
正则使用的注意点re.findall("a(.*?)b","str"),能够返回括号中的内容,括号前后的内容起到定位和过滤的效果原始字符串r,待匹配字符串中有反斜杠的时候,使用r能够忽视反斜杠带来的转义的效果点号默认情况匹配不到\n\s能够匹配空白字符,不仅仅包含空格,还有\t|\r\nxpath学习重点使用xpath helper或者是chrome中的copy xpa...原创 2018-08-20 22:16:15 · 232 阅读 · 0 评论 -
爬虫随笔 五
xpath的包含//div[contains(@class,'i')]实现爬虫的套路准备url准备start_urlurl地址规律不明显,总数不确定通过代码提取下一页的url xpath寻找url地址,部分参数在当前的响应中(比如,当前页码数和总的页码数在当前的响应中)准备url_list页码总数明确url地址规律明显发送请求,获取响应添加随机的Use...原创 2018-08-20 22:18:25 · 282 阅读 · 0 评论 -
爬虫随笔 六
验证码的识别url不变,验证码不变请求验证码的地址,获得相应,识别url不变,验证码会变思路:对方服务器返回验证码的时候,会和每个用户的信息和验证码进行一个对应,之后,在用户发送post请求的时候,会对比post请求中法的验证码和当前用户真正的存储在服务器端的验证码是否相同1.实例化session2.使用seesion请求登录页面,获取验证码的地址3.使用session请求验...原创 2018-08-20 22:22:44 · 183 阅读 · 0 评论 -
json dump 中文乱码
不管是dump还是dumps,中文乱码加入ensure_ascii=False即可json.dump(content, f, ensure_ascii=False)原创 2019-07-26 17:02:28 · 2929 阅读 · 0 评论