爬虫是好久前学的,然后已经忘得差不多了。简单回顾一下。

1.确定目标网址

baseurl = '目标网址'

2.爬取网页与解析网页(就是边爬边解)

#1.爬取网页
def getData(baseurl):datalist = []for i in range(0,1):url = baseurl + str(i*20)  #调用获取页面信息的函数,10次html = askURL(url)#2.主逐一解析网页soup = BeautifulSoup(html,"html.parser")for item in soup.find_all('div',class_="item"):print(item)

3.爬取时要适当伪装一下,即代码段中的askURL

def askURL(url):#代理池,这里的IP可换proxy_list = ['202.106.169.142:80','220.181.35.109:8080',]#绑定某个IPproxy = random.choice(proxy_list)urlhandle = urllib.request.ProxyHandler({'http': proxy})opener = urllib.request.build_opener(urlhandle)urllib.request.install_opener(opener)#伪装头,在network中找headers = {'user-agent': '','referer': '','cookie': '',}#用户代理,模拟头部信息,以及异常处理req = urllib.request.Request(url,headers = headers)html = ""try:response = urllib.request.urlopen(req)html = response.read().decode("utf-8")#print(html)except urllib.error.URLError as e:if hasattr(e,"code"):print(e.code)if hasattr(e,"reason"):print(e.reason)return html

4.解析完成后得到网页信息,找到想要的片段数据,比如想爬取‘链接’

findLink = re.compile(r'<a href="(.*?)">')#这里需要结合网页来编写link = re.findall(findLink,item)[0]
data.append(link)
datalist.append(data)

5.保存在excel表格当中

#3.保存
def saveData(datalist,savepath):book = xlwt.Workbook(encoding="utf-8",style_compression=0)  # 创建sheet = book.add_sheet('sheet1',cell_overwrite_ok=True)col = ("链接")#这里原本爬了好几类信息,所以用的循环,如果只有一个的话就不需要for i in range(0,1):sheet.write(0,i,col[i])for m in range(0,250):print("第%d条"%(m+1))data = datalist[m]for j in range(0,1):sheet.write(m+1,j,data[j])book.save(savepath)

关于Airbnb反爬。

目前采取的措施有:增加头部信息、代理IP池。

①增加头部信息。先检查网页,找到 文件,再复制其对应cURL格式,进入网址Convert curl commands to code,直接转换为headers和parame格式。

②增加代理IP池。免费代理IP池网上挺多的,自己找找,然后也可以去买。

proxy_list = ['159.255.163.177:80' #这只是一个例子,建议多找一些代理IP]#绑定某个IP
proxy = random.choice(proxy_list)
urlhandle = urllib.request.ProxyHandler({'http': proxy})
opener = urllib.request.build_opener(urlhandle)
urllib.request.install_opener(opener)

③结果显示,不再出现403。不过后来可能又出现了不完整html的情况(某种反爬机制),还在研究当中。

Pycharm学习记录(一)——爬虫与反爬相关推荐

  1. python爬虫反爬-python爬虫--爬虫与反爬

    爬虫与反爬 爬虫:自动获取网站数据的程序,关键是批量的获取. 反爬虫:使用技术手段防止爬虫程序的方法 误伤:反爬技术将普通用户识别为爬虫,从而限制其访问,如果误伤过高,反爬效果再好也不能使用(例如封i ...

  2. 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图...

    第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-爬虫和反爬的对抗过程以及策略-scrapy架构源码分析图 1.基本概念 2.反爬虫的目的 3.爬虫和反爬的对抗过程以及策略 scra ...

  3. 爬虫与反爬:一场无休止之战

    现实生活中,其实很多人都与爬虫"打过交道". 比如,逢年过节之时,为确保能买到回家火车票,有人会选择使用"抢票软件",这个软件就是利用网络爬虫来登录铁路售票网络 ...

  4. Python爬虫-2019年我破解了商标网数据爬虫-破解反爬技术那些事情

    Python爬虫-2019年我破解了商标网!数据爬虫-破解反爬技术那些事情 由于自己一直做Python大数据挖掘技术开发,最近有不少的朋友要做大数据分析,找我帮忙商标网的数据挖掘,实现爬取中国商标网全 ...

  5. 16.网络爬虫—字体反爬(实战演示)

    网络爬虫-字体反爬 一·字体反爬原理 二·字体反爬模块Fonttools TTF文件 三·FontCreator 14.0.0.2790 FontCreatorPortable下载与安装 四·实战演示 ...

  6. python 下载文件 限速-Python网络爬虫---scrapy通用爬虫及反爬技巧

    一.通用爬虫 通用爬虫一般有以下通用特性:爬取大量(一般来说是无限)的网站而不是特定的一些网站. 不会将整个网站都爬取完毕,因为这十分不实际(或者说是不可能)完成的.相反,其会限制爬取的时间及数量. ...

  7. python爬虫基本反爬

    一 最基本的User-Agentyan验证 如果通过程序向目标网站发送请求且不设置任何请求参数,服务器得到请求会识别为非人为通过浏览器请求,这种情况下大可能会被浏览器拒绝请求.(请求状态码非200,服 ...

  8. python高级—— 从趟过的坑中聊聊爬虫、反爬、反反爬,附送一套高级爬虫试题

    前言: 时隔数月,我终于又更新博客了,然而,在这期间的粉丝数也就跟着我停更博客而涨停了,唉 是的,我改了博客名,不知道为什么要改,就感觉现在这个名字看起来要洋气一点. 那么最近到底咋不更新博客了呢?说 ...

  9. python高级—— 从趟过的坑中聊聊爬虫、反爬、反反爬,附送一套高级爬虫试题...

    前言: 时隔数月,我终于又更新博客了,然而,在这期间的粉丝数也就跟着我停更博客而涨停了,唉 是的,我改了博客名,不知道为什么要改,就感觉现在这个名字看起来要洋气一点. 那么最近到底咋不更新博客了呢?说 ...

  10. python爬虫常见反爬措施_爬虫常见的反爬措施有哪些

    爬虫常见的反爬措施有三种: 1.header头部信息 解决方法: 加User-Agent值: 如果不加header头,部分网站服务器判断不到用户的访问来源,所以会返回一个404错误来告知你是一个爬虫, ...

最新文章

  1. Behave step matcher
  2. 〖Linux〗Kubuntu KDE开机后总是提示“system program problem detected”的解决方法
  3. Android 解决不同进程发送KeyEvent 的问题
  4. AI面试官也太好骗了!用书架图片做视频背景,能提高15%好感度
  5. [专栏目录]-ATF/FF-A/specification学习 -- ongoing
  6. android多屏幕适配资源生成,android – 多屏幕适配相关
  7. django orm级联_django+jquery 实现级联选择菜单
  8. MyBatis多对多关联查询示例——MyBatis学习笔记之十八
  9. swing 选择对话框_Java Swing –日期选择器对话框
  10. web版本 开源压测工具_siege--Web性能压测工具
  11. 【kafka】kafka topic Dump log
  12. OSPF路由协议基础(OSPF基本配置)
  13. php 关键词回复 图片,php微信开发之关键词回复功能
  14. 哎呀!可能有弹出式窗口拦截器生成Gmail无法打开该网页。如果您使用弹出式窗口拦截器,请将其关闭以便打开窗口。...
  15. Mybatis原理解析(四)--查询流程
  16. AMD已秒英特尔全家?真的吗?来看看真正公平公正的版本吧!
  17. cas 计算器 android,GeoGebra CAS计算器
  18. PHP调用京东联盟接口以及配置签名
  19. 拳王虚拟项目公社:建一个虚拟资源流量池,兼职副业卖虚拟资源商品月入5000
  20. ESD:“蓝灯“精灵如何对抗27KV空气式放电

热门文章

  1. B站C语言字符动画原理,最初B站会员答题有多么“丧心病狂”?
  2. NoteExpress样式制作手册
  3. endnote如何设置文献样式
  4. 《邪不压正》里面究竟谁是真正的隐侠,蓝青峰究竟是正是邪?
  5. 论fastadmin里面token加密方式
  6. 路由器与交换机的作用及区别
  7. Python 智能银行卡识别系统的实现 (2)—系统的实现
  8. IDEA web.xml版本过低怎么生成新的
  9. 阿里云域名部署免费证书,开启https访问。
  10. 开源软件许可协议介绍