吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5808|回复: 18
收起左侧

[Python 转载] [Python]小白上路了 自学爬取电影天堂下载链接

  [复制链接]
zheshen 发表于 2018-8-13 15:13

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[1]
        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)













免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
每文 + 1 + 1 撒旦撒旦
李佰学 + 1 + 1 纷纷讨伐
FENGMUTIAN + 1 + 1 谢谢@Thanks!
IGAWA4869 + 1 + 1 共勉
tugou1997 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zheshen 发表于 2018-8-14 11:22
aiLT 发表于 2018-8-13 20:06
我也在学这里,我在想加入一些自己的思考会更好,比如爬个10多页,自己得到一些其他数据,这样才算学的来, ...

我主要对于自定义不是很懂 所以自己就用for 一直写完了
Dirichlets 发表于 2018-9-30 15:16
倒数第二行代码,需要改一下编码格式,不然在最后一行读数据的时候会报错“UnicodeEncodeError: 'gbk' codec can't encode character '\xf4' in position 1061: illegal multibyte sequence”
qianglele 发表于 2018-8-13 15:33
陈家丶妖孽 发表于 2018-8-13 15:35
看的是同一部教程。21天那个。
rokycool 发表于 2018-8-13 15:40
注释好评
cs007 发表于 2018-8-13 15:46
没看懂,这是什么来的?下载连接直接抓取就可以了!
Dirichlets 发表于 2018-8-13 15:47
这是Python2的代码
tinnkyu 发表于 2018-8-13 16:08
看不懂哈哈。纯支持 。
 楼主| zheshen 发表于 2018-8-13 19:25

python 3
aiLT 发表于 2018-8-13 20:06
我也在学这里,我在想加入一些自己的思考会更好,比如爬个10多页,自己得到一些其他数据,这样才算学的来,而且我觉得这老师突然拿出一个函数对于我这种python新手及其不友好,/(ㄒoㄒ)/~~
隰则有泮 发表于 2018-8-13 22:24 来自手机
仰望大神0.0
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 15:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表