python3爬虫报错:HTTP Error 500: Internal Server Error

之前写的一个爬虫用了半年,最近不能用了,报错500,被爬网站http://xilin123.cn/ 可以正常打开

打开开发者工具
图片描述
图片描述
发现Status Code是500,所以导致我程序报错
神了奇了,500的网页也可以正常访问,正常应该是200啊!!!
是不是他们用了什么反爬虫手段

import urllib.request as urllib2
import random

class HtmlDownloader(object):
    def download(self, url):
        if url is None:
            return None

        ua_list = [
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv2.0.1) Gecko/20100101 Firefox/4.0.1",
            "Mozilla/5.0 (Windows NT 6.1; rv2.0.1) Gecko/20100101 Firefox/4.0.1",
            "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
            "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
        ]

        user_agent = random.choice(ua_list)

        request = urllib2.Request(url=url)
        request.add_header('User-Agent', user_agent)

        response = urllib2.urlopen(request)
        html = response.read()
       
        page = html.decode('GBK')
        return page

该怎么处理?

阅读 19.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进