c0ld 发表于 2018-8-13 14:16

Python3:基于正则匹配实现的电影爬虫

先上源码:
# -*- coding: UTF-8 -*-
#Author:MercuryYe
import re
import urllib.request

def getlink(url):
        #模拟浏览器请求,防止IP被拉入黑名单
        headers = ("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0")
        opener = urllib.request.build_opener()
        opener.addheaders =
        #将opener设置为全局使用
        urllib.request.install_opener(opener)
        file = urllib.request.urlopen(url)
        data = str(file.read())
        #构造正则表达式来搜索内容
        pat = '<a href="(http://www..*?|http://goudidiao.com.*?)"'
        link = re.compile(pat).findall(data)       
        link = list(set(link))
        return link

movie = input("输入电影名称:")
print('请稍等,正在搜索中......')
#将汉字转化为URL编码,避免字符报错
movie = urllib.parse.quote(movie)
url = "http://ifkdy.com/?q="+movie
url = str(url)
linklist = getlink(url)
print('----------------------------Result-----------------------------')
for link in linklist:
        print("观看地址:"+link)
print('PS:任一观看地址都可以观看哦~')

实现思路:基于正则匹配获取<a>标签href属性中的链接

c0ld 发表于 2018-8-13 15:13

mengsiyiren 发表于 2018-8-13 14:33
需要在Linux里运行?

Windows系统下下载Python3
根据教程配置Python3路径
然后在cmd(命令提示符)中cd进脚本所在目录
Python3 脚本名称即可

c0ld 发表于 2018-8-15 06:27

吾爱看雪 发表于 2018-8-14 23:48
感觉正则表达式好难啊。。。

哈哈哈,其实还是多加以练习,有些时候那些文档光让我背我也背不完,所以还是要多用,用得多了自己就能理解了

mengsiyiren 发表于 2018-8-13 14:33

需要在Linux里运行?

Seven_2017 发表于 2018-8-13 14:37

mengsiyiren 发表于 2018-8-13 14:33
需要在Linux里运行?

这是python源代码   下载一个就好了

music984 发表于 2018-8-13 15:13

期待更多python干货!

c0ld 发表于 2018-8-13 15:14

music984 发表于 2018-8-13 15:13
期待更多python干货!

感谢关注,以后会长期更新python的相关内容的

mengsiyiren 发表于 2018-8-13 15:51

c0ld 发表于 2018-8-13 15:13
Windows系统下下载Python3
根据教程配置Python3路径
然后在cmd(命令提示符)中cd进脚本所在目录


谢谢您的解释,了解了

mengsiyiren 发表于 2018-8-13 15:52

Seven_2017 发表于 2018-8-13 14:37
这是python源代码   下载一个就好了

好的,谢谢

sjz960913 发表于 2018-8-13 16:19

有教程?在哪呢?。。

吾爱看雪 发表于 2018-8-14 23:48

感觉正则表达式好难啊。。。
页: [1] 2
查看完整版本: Python3:基于正则匹配实现的电影爬虫