电影天堂爬虫各种错误分析
1、request库
默认会使用自己猜测的编码方式将抓取下来的网页进行解码,然后储存到text中,因为电影天堂的编码方式与request库猜测的编码方式不同,所以会出现乱码。
2、map函数
map函数会自动将主域名添加到爬取的地址中,形成一个完整的网址
示例代码如下:
movie_links = html.xpath("//table[@class='tbspan']//a/@href")
movie_links = map(lambda url: BASE_URL + url, movie_links)
3、xpath去掉空格,换行符等
示例代码如下:
item.xpath('normalize-space(./div[@class="tags"])')
item.xpath('./div[@class="tags"]').strip()
4、字典
字典中的数据不能连续访问,代码如下:
info = {"name": "李白", "years": "唐"}
print(info["name", "years"]) #连续访问会出错
print(info["name"])
print(info["years"])
5、常见请求头信息:
Accept: 表示客户端可以接受的数据类型;
Referer: 表示请求发起时,浏览器地址栏中的地址;
User-Agent:表示浏览器信息;
Host:表示请求时的服务器 ip 地址和端口号。
参考文章
发表评论