[Python]小白上路了 自学爬取电影天堂下载链接
from lxml import etree
import requests
ht = 'http://www.ygdy8.net/'
#请求第一页数据
#url = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_1.html'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
'Referer':'http://www.ygdy8.net/html/gndy/dyzz/list_23_2.html'
}
move = []
#得到前七页链接
base_html = "http://www.ygdy8.net/html/gndy/dyzz/list_23_{}.html"
for x in range(1,2):
url = base_html.format(x)
#得到电影页代码
resopen = requests.get(url,headers=headers)
html = resopen.text
# html = resopen.content.decode('gbk')
#得到电影链接
htmls = etree.HTML(html)#导入
D_url = htmls.xpath("//table[@class='tbspan']//a/@href")
for D in D_url:
DY_url = ht+D
movies = {}
#以获取前几页所有下载页面链接
resopens = requests.get(DY_url,headers=headers)
html_DY = resopens.content.decode('gbk')
html_DY_get = etree.HTML(html_DY)
title = html_DY_get.xpath("//div[@class='title_all']//font[@color='#07519a']/text()")
movies['title'] = title
img = html_DY_get.xpath("//div[@id='Zoom']//img/@src")
img_hb = img[0]
# img_jq = img
movies['海报'] = img_hb
# movies['剧情图'] = img_jq
get_texts = html_DY_get.xpath("//div[@id='Zoom']//text()")
for get_text in get_texts:
if get_text.startswith('◎年 代'):
get_text = get_text.replace('◎年 代','')
movies['年代'] = get_text
elif get_text.startswith('◎类 别'):
get_text = get_text.replace('◎类 别', '')
movies['类别'] = get_text
elif get_text.startswith('◎主 演'):
get_text = get_text.replace('◎主 演', '')
movies['主演'] = get_text
elif get_text.startswith('◎简 介'):
get_text = get_text.replace('◎简 介', '')
movies['简介'] = get_text
# print(movies)
move.append(movies)
# print(move)
movie = str(move)
with open('电影天堂.txt','w')as fp:
fp.write(movie)
[*]
aiLT 发表于 2018-8-13 20:06
我也在学这里,我在想加入一些自己的思考会更好,比如爬个10多页,自己得到一些其他数据,这样才算学的来, ...
我主要对于自定义不是很懂 所以自己就用for 一直写完了 倒数第二行代码,需要改一下编码格式,不然在最后一行读数据的时候会报错“UnicodeEncodeError: 'gbk' codec can't encode character '\xf4' in position 1061: illegal multibyte sequence” 这是啥啊 看的是同一部教程。21天那个。 注释好评 没看懂,这是什么来的?下载连接直接抓取就可以了! 这是Python2的代码 看不懂哈哈。纯支持 。 Dirichlets 发表于 2018-8-13 15:47
这是Python2的代码
python 3 我也在学这里,我在想加入一些自己的思考会更好,比如爬个10多页,自己得到一些其他数据,这样才算学的来,而且我觉得这老师突然拿出一个函数对于我这种python新手及其不友好,/(ㄒoㄒ)/~~ 仰望大神0.0
页:
[1]
2