import requests
import re
url="https://piaofang.maoyan.com/getBoxList?date=1&isSplit=true"
headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'}
#User-Agent 可以在网址中的后台查看,下面有解释
resp=requests.get(url,headers=headers)
#常规编码输出设置
resp.encoding='utf-8'
html=resp.text #得到的网址信息
print(html) #打印 输出结果如下图
#接着上面的代码
infos=re.findall('"movieName":"(.*?)"',html)
for i in infos:
print(i) #结果如下图
相关解释
- requests、re是Python库,如果没有需要下载。
- url是想要爬的网址,这个网址是在后台找的,有尝试过爬猫眼的应该都知道,进猫眼电影数据官网,查看其源代码发现根本找不到电影名称。(以谷歌浏览器示例),既然没有就右键一下,点击检查,会出现如下图界面:
然后点击Network,刷新页面,点击放大镜,在搜索框中搜一下主页中的电影名称
这里以搜索“长津湖”为例
如上图所示可以点击左边的那些红框,然后看Preview中的代码里有没有相应文字(里面的有些三角形符号是可以展开的),如果找到了相关文字,就点击Headers,红框中就可以作为url,如下图:
- 其中User-Agent也可以在其中找到,复制粘贴即可,不要忘记引号。
- 对于infos=re.findall(’“movieName”:"(. *?)"’,html),findall是re里的方法,就是字面意思。括号中的html就是查找源,“movieName”:"(.*?)"这个是要查找内容的一种正则表达式,(.*?)表示获取最短的能满足条件的字符串,所以这里是表示获取 “movieName”:后引号里的最短字符串。
- for i in infos: 表示遍历infos这个列表。
如若侵权,请联系删除。