7-22
爬虫猫眼top100电影
参看内容:https://www.bilibili.com/video/av21857172/?p=14
https://blog.csdn.net/yaoyefengchen/article/details/79025943
1.查找单页内容
2.正则表达式使用
3.多线程抓取
查找单页内容
猫眼榜单→右键→检查左上角箭头符号,然后选中网页内容,就大概知道所要爬取的内容对应的位置
import requests
from requests.exceptions import RequestException
def get_one_page(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
return None
except RequestException:
return None
def main():
url = 'http://maoyan.com/board/4'
html = get_one_page(url)
print(html)
if __name__ == '__main__':
main()
然后结果就有点小尴尬了
2.PNG
稍作修改```
def get_one_page(url):
kv = {"user-agent": "Mizilla/5.0"}
try:
rep = requests.get(url, headers=kv)
if rep.status_code == 200:
return rep.text
except RequestException:
return None```运行成功
然后这个就是我第六天的文章里处理请求头修改,一般来说简单的反爬就是检查user-agent
其他的运行就都ok
正则表达式的使用
对比一下代码和要爬取的内容
pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name">'
+ '<a.*?>(.*?)</a>.*?"star">(.*?)</p>.*?releasetime">(.*?)</p>'
+ '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)
<dd>
<i class="board-index board-index-10">10</i>
<a href="/films/2760" title="魂断蓝桥" class="image-link" data-act="boarditem-click" data-val="{movieId:2760}">
<img src="//ms0.meituan.net/mywww/image/loading_2.e3d934bf.png" alt="" class="poster-default" />
<img data-src="http://p0.meituan.net/movie/46c29a8b8d8424bdda7715e6fd779c66235684.jpg@160w_220h_1e_1c" alt="魂断蓝桥" class="board-img" />
</a>
<div class="board-item-main">
<div class="board-item-content">
<div class="movie-item-info">
<p class="name"><a href="/films/2760" title="魂断蓝桥" data-act="boarditem-click" data-val="{movieId:2760}">魂断蓝桥</a></p>
<p class="star">
主演:费雯·丽,罗伯特·泰勒,露塞尔·沃特森
</p>
<p class="releasetime">上映时间:1940-05-17(美国)</p> </div>
<div class="movie-item-number score-num">
<p class="score"><i class="integer">9.</i><i class="fraction">2</i></p>
然后其实自己正则表达式也不太熟悉,要好好研究一下,把之前文章的链接找出来看看
多线程抓取
多线程抓取异步主要是为了加快抓取速度
目前也不是很了解,就找些资料看看
https://blog.csdn.net/cymy001/article/details/78218024
https://blog.csdn.net/ztf312/article/details/78858512
网友评论