网络爬虫编写常见问题

本文介绍了网络爬虫的编写过程,包括选择框架(如WebMagic)、网页下载、HTML解析、数据存储以及应对IP被封和反爬策略。提到了通过ADSL拨号和代理服务器解决IP问题,以及对不同类型的验证码的处理方法,如OCR识别和打码平台。还讨论了如何避免封账号,如维护Cookies池和寻找无登录接口。
摘要由CSDN通过智能技术生成

要编写爬虫程序,首先必须找一个爬虫框架,如果你使用Python语言,可以选用scrapy,如果你使用Java语言,可选用WebMagic,本文使用后者,编写爬虫程序无非分以下几步:
根据URL下载网页,得到HTML(注意并不是通过开发工具看到的HTML,而是网页源代码HTML,这两者有本质区别);
根据HTML解析您所需要的数据,可以利用xpath获取DOM节点内容或属性值;
有可能还需要根据得到的HTML解析出其他链接,利用多线程继续爬取;
解析后的数据存储(数据库,文件等);
WebMagic爬虫框架在core代码中主要有四个模块:Downloader、PageProcessor、Scheduler、Pipeline,分别处理下载,页面解析,管理(管理待抓取的URL,做一些去重工作,默认使用内存队列管理URL,也可以使用Redis进行分布式管理)和持久化工作,因为最终解析出的结构化数据应该是要入库或入文件存储的。
通过代理上网解决IP被封问题
有时候抓取的站点会封我们的IP,公司的外网IP又是固定的,我们可以通过ADSL拨号的方式接入另一个网络,在ADSL网络的服务器上搭建代理服务器,爬虫程序所在的服务器通过代理该台服务器上网,这样再也不怕对方站点封您的IP了,让爬虫程序通过代理爬取网页,代码如下:
import requests
import random
# 要访问的目标页面
targetUrl = “http://httpbin.org/ip”
# 要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值