python网络爬虫之如何伪装逃过反爬虫程序的方法

yipeiwu_com6年前Python爬虫

有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了。

报错信息如下:

Http 800 Internal internet error

这是因为你的对象网站设置了反爬虫程序,如果用现有的爬虫代码,会被拒绝。

之前正常的爬虫代码如下:

from urllib.request import urlopen
...
html = urlopen(scrapeUrl)
bsObj = BeautifulSoup(html.read(), "html.parser")

这个时候,需要我们给我们的爬虫代码做下伪装,

给它添加表头伪装成是来自浏览器的请求

修改后的代码如下:

import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
...
req = urllib.request.Request(scrapeUrl)
req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)') 
response = urllib.request.urlopen(req) 
html = response.read()
 
bsObj = BeautifulSoup(html, "html.parser")

Ok,一切搞定,又可以继续爬了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python解决网站的反爬虫策略总结

本文详细介绍了网站的反爬虫策略,在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下。 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。这里我们只讨论数据采集部分。 一...

Python爬虫图片懒加载技术 selenium和PhantomJS解析

一.什么是图片懒加载? - 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:ut...

selenium+python设置爬虫代理IP的方法

1. 背景 在使用selenium浏览器渲染技术,爬取网站信息时,一般来说,速度是很慢的。而且一般需要用到这种技术爬取的网站,反爬技术都比较厉害,对IP的访问频率应该有相当的限制。所以...

学习Python selenium自动化网页抓取器

直接入正题---Python selenium自动控制浏览器对网页的数据进行抓取,其中包含按钮点击、跳转页面、搜索框的输入、页面的价值数据存储、mongodb自动id标识等等等。 1、首...

Python爬虫基础之XPath语法与lxml库的用法详解

Python爬虫基础之XPath语法与lxml库的用法详解

前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 X...