首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >入门爬虫,不讲道理,只摆问题

入门爬虫,不讲道理,只摆问题

作者头像
一个有趣的灵魂W
发布2020-09-15 12:38:36
发布2020-09-15 12:38:36
4180
举报

其实我也算是入门爬虫,目前也还有很多东西没有吃透,比如很多人入门选择使用的正则式我就没记清楚,对于很多反扒也并不算特别深入。但这并不影响我学习爬虫的信心和兴趣。。。没办法,必须要学啊。很多数据我不能跪着求别人给,因为别人不会给。。。被逼着学习爬虫,希望我的学习能有好结果吧

import json

import re

import requests

from requests import RequestException

url = "https://movie.douban.com/cinema/nowplaying/shanghai/"

###headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}

response = requests.get(url,headers=headers)

html = response.text

pattern = re.compile('<li.*?list-item.*?data-title="(.*?)".*?data-score="(.*?)".*?>.*?<img.*?src="(.*?)".*?/>', re.S)

items = re.findall(pattern, html)

for item in items:

a={'title': item[0],'score': item[1],'image': item[2],}

print(a)

这样写要报错:

所以:

虽然例子简单,但是对于新手来说还有很多不友好的地方,我在学习的时候发现程序报错。

仔细检查代码之后发现:

requests.get(url)得到的结果是【418】,是被网站反扒了。需要加一个请求的头

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'} ---随便百度的,你可以用自己的电脑和浏览器

最后:

url = "https://movie.douban.com/cinema/nowplaying/shanghai/"

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}

response = requests.get(url,headers=headers)

html = response.text

pattern = re.compile('<li.*?list-item.*?data-title="(.*?)".*?data-score="(.*?)".*?>.*?<img.*?src="(.*?)".*?/>', re.S)

items = re.findall(pattern, html)

for item in items:

a={'title': item[0],'score': item[1],'image': item[2],}

print(a)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个有趣的灵魂W 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档