Python爬虫
云飞扬°
这个作者很懒,什么都没留下…
展开
-
利用XPath提取51job网页中的职位信息
url=""" https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.html? lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefr...原创 2019-08-08 17:36:19 · 850 阅读 · 1 评论 -
批量获取百度贴吧的照片
百度贴吧-->娱乐明星-->杨洋吧--->图片--->微微一笑很倾城肖奈截图合集按F12打开调试窗口,选择图片,将图片地址复制后,到源代码中查找ctrl+F,发现没有,所以图片地址属于Ajax数据,需要到Network中找。找到开头为list的文件点击Headers,复制里面的地址# 百度贴吧图片的获取import requestsimport r...原创 2019-08-10 18:26:59 · 232 阅读 · 0 评论 -
爬取京东商品的信息
爬取京东商城中手机的信息import requestsimport refrom lxml import htmlimport pandas as pdfrom pandas import DataFrameimport randomfrom fake_useragent import UserAgentetree = html.etreegoodsInfoAll = D...原创 2019-08-14 21:31:52 · 460 阅读 · 0 评论 -
反爬应对策略---模拟浏览器
UA---user-Agent 用户代理。一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。例如:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari...原创 2019-08-11 10:16:31 · 416 阅读 · 0 评论 -
fake-useragent(一个生成ua的工具)
fake-useragent 是一个生成ua的工具安装:pip install fake-useragent官方网站:https://pypi.org/project/fake-useragent常见用法:from fake_useragent import UserAgentua = UserAgent()# 随机生成一个浏览器的uaprint(ua.rando...原创 2019-08-11 17:22:58 · 5324 阅读 · 0 评论 -
浏览器代理池
将程序伪装成浏览器import requestsfrom lxml import htmlfrom fake_useragent import UserAgentimport randometree = html.etreeua = UserAgent()uas = []for i in range(5): # 生成5个随机的ua uas.ap...原创 2019-08-11 19:04:48 · 243 阅读 · 0 评论 -
模拟登录基本原理:理解Post、Cookies和Session
模拟登录基本原理:理解Post、Cookies和Session演示地址:http://pythonscraping.com/pages/cookies/login.html1-post:向服务器发送信息登录:需要把用户名、密码等信息post到服务器查询:需要把查询条件等post到服务器requests.post(post_url, data = {'key':'value'}...原创 2019-08-18 10:07:42 · 2821 阅读 · 0 评论 -
反爬应对策略---设置代理IP
1.在网页中显示本机ip---百度搜索关键词"ip"# 爬取ip地址import requestsimport re# url = 'https://www.baidu.com/s?ie=utf-#8&f=8&rsv_bp=1&rsv_idx=1&ch=1&tn=98012088_3_dg&wd=ip#&rsv_p...原创 2019-08-12 09:58:43 · 422 阅读 · 0 评论 -
超时异常
timeout---告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应import requests# 异常处理--超时异常for i in range(10): try: url = "https://www.baidu.com/" r = requests.get(url, timeout=0.2) ...原创 2019-08-12 10:11:15 · 391 阅读 · 0 评论 -
IP代理池
import reimport requestsfrom lxml import htmlimport randometree = html.etreeip_url = "http://www.xicidaili.com/"head = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5...原创 2019-08-13 09:30:36 · 431 阅读 · 0 评论 -
Beautiful Soup
一、介绍及安装Beautiful Soupn是一个可以从网页中提取信息的Python库官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/安装pip install beautifulsoup4导入from bs4 import BeautifulSoup二、四大常用对象1-Beautif...原创 2019-08-13 10:11:13 · 178 阅读 · 0 评论 -
Ajax数据
Ajax是Asynchronous JavaScript and XML的缩写 翻译:异步JavaScript和XMLAsynchronous---不同时存在(或发生)的,即异步Ajax数据---通俗地说,就是网页中能看到数据,但在网页源代码中找不到如何获取Ajax数据?----F12打开调试窗口,Network里面[实例]:获取京东商城中手机的价格打开手机所在的...原创 2019-08-10 17:23:09 · 380 阅读 · 1 评论 -
模式字符串及正则匹配实例
1.\d---十进制数字,\D---非十进制数字提取字符串中的数字# 提取字符串中的数字import restr1 = "360人最近报名"# sub函数中第一个参数:对什么替换(\D表示非十进制数),第二个参数:替换为什么,第三个参数:操作的对象rst = re.sub("\d", "*", str1)print(rst)输出结果:***人最近报名rst = re....原创 2019-08-10 10:59:32 · 279 阅读 · 1 评论 -
爬取51job网页中的信息
import requestsfrom lxml import htmlfrom pandas import DataFrame# 网址url="https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.html"# 获得网页对象res = requ...原创 2019-08-08 19:36:29 · 1566 阅读 · 1 评论 -
正则表达式中的3个常用函数
提取网页信息正则表达式:帮助你方便的检查一个字符串是否与某种模式匹配3个常用函数1.searchre.search---re.search扫描整个字符串并返回第一个成功的匹配import restr = 'pythonthonth'# searchpat = 'th'r1 = re.search(pat, str)print(r1)输出结果:<r...原创 2019-08-09 08:45:44 · 2072 阅读 · 0 评论 -
利用Beautiful Soup爬取招聘网站数据
利用Beautiful Soup爬取51job招聘网站数据import requestsfrom bs4 import BeautifulSoupfrom pandas import DataFrameurl = 'https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258...原创 2019-08-14 10:04:29 · 848 阅读 · 0 评论 -
正则表达式中的常用模式字符串及两种匹配模式
常用模式字符串 . 匹配除了换行符之外的任意字符 * 0、1、多次 匹配 ? 0、1 匹配 () 用括号指定需要提取的信息 两种匹配模式贪婪模式 尽可能多的匹配 非贪婪模式 尽可能少的匹配 # ---常用模式字符串---import restr =...原创 2019-08-09 10:28:31 · 2536 阅读 · 0 评论 -
模拟登录某在线教育平台
模拟登陆大讲台在线教育平台 http://www.dajiangtai.com/login.doFiddler是一个强大的抓包工具,它的原理是以web代理服务器的形式进行工作的。下载地址:https://www.telerik.com/fiddler1-打开Fiddler,打开浏览器登录http://www.dajiangtai.com/login.do在Fiddler中找到...原创 2019-08-18 16:45:19 · 349 阅读 · 0 评论 -
XPath知识点总结
提取网页信息1.XPathXPath是XML Path的简称,它是一种用来确定XML文档中某部分位置的语言。lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,使用前先安装pip install lxml官方文档:http://www.w3school.com.cn/xpath/xpath_syntax.aspXPath使用路径表达式来...原创 2019-08-08 17:20:05 · 282 阅读 · 0 评论 -
requests库的基本用法
获取网页对象requests是一个Python实现的简单易用的HTTP库,用它来写爬虫特别方便。requests库--用来获取网页对象官方文档:http://docs.python-requests.org/zh_CN/latest/安装命令:pip install requests1.get方法--获得某个网页对象import requestsurl = "h...原创 2019-08-07 11:44:34 · 1410 阅读 · 0 评论 -
正则表达式之模式修饰符
常用的模式修饰符I 匹配时忽略大小写 S 让匹配包括换行符 import restr = 'Python'pat = 'pyt'r = re.findall(pat, str, re.I) # 匹配时忽略大小写print(r)输出结果:['Pyt']import restr = """Pythonbaidu"""...原创 2019-08-09 16:09:32 · 376 阅读 · 0 评论 -
用正则表达式提取网页中的信息
用正则表达式提取51job网页中的信息import requestsimport refrom pandas import DataFrame# 网址url = "https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.html"# 获得网页对...原创 2019-08-09 16:08:59 · 5360 阅读 · 0 评论 -
多页信息的爬取
爬取多个51job网页的信息"""爬取多页信息1.找翻页规律,构造网址2.通过循环爬取多页信息"""# 51job"""通过对比不同页的网址,找出规律https://search.51job.com/list/000000,000000,0000,32,9,99,Java%25E5%25BC%2580%25E5%258F%2591,2,1.htmlhttps://searc...原创 2019-08-09 16:38:53 · 589 阅读 · 0 评论 -
爬取网页中的图片
# 爬取京东网站上的商品图片import requestsimport reurl = 'https://list.jd.com/list.html?cat=9987,653,655'res = requests.get(url)res.encoding = 'utf-8'# --获取图片地址image_pat = '<img width="220" height="22...原创 2019-08-09 18:57:31 · 1727 阅读 · 0 评论 -
设置显示日志的级别
六个日志等级:TRACE / DEBUG / INFO / WARNING / ERROR / FATAL还有两个特殊等级 ALL、OFFDEBUG:输出调试信息;指出细粒度信息事件对调试应用程序是非常有帮助的。INFO: 输出提示信息;消息在粗粒度级别上突出强调应用程序的运行过程。WARN: 输出警告信息;表明会出现潜在错误的情形。ERROR:输出错误信息;指出虽然发生错误事件,但...原创 2019-09-16 17:14:27 · 2655 阅读 · 0 评论