爬虫(etree+xpath)

这次我们抓取多个元素,通过对元素的处理,拼接成我们想要的格式。

首先还是找到爬取内容:电影类型以及对应的url

爬取结果:

我们想要的结果:

import requests
from lxml import etree


#爬取目标  电影类型以及url  


#首先是获取目标网页的内容
sum_http = 'https://www.dy2018.com/'
response = requests.get(sum_http)
response.encoding = 'UTF-8'
html = etree.HTML(response.content, parser=etree.HTMLParser(encoding='gbk'))
dayli_http = html.xpath("//div[@class='contain']")[0]

#开始爬取内容
fime_type = []
f_type_name = dayli_http.xpath("//div[@class= 'contain']/ul/li/a/text()")
f_type_url = dayli_http.xpath("//div[@class= 'contain']/ul/li/a/@href")
f_list_name = dayli_http.xpath("//div[@class='index_list']/div[@class='co_area2']//span[@style='float:left;']/a/text()")
f_list_url = dayli_http.xpath("//div[@class='index_list']/div[@class='co_area2']//span[@style='float:left;']/a/@href")
# print(f_type_name)
# print(f_type_url)
# print(f_list_name)
# print(f_list_url)
'''

爬取到了自己想要的,但是有些格式不对,需要我们进行改动分类
地址需要我们进行拼接
最后的格式:动作片 https://www.dy2018.com/2/
            2022新片精品 https://www.dy2018.com/html/gndy/dyzz/index.html
'''
# #查看下他们的类型  都是list集合
# print(type(f_type_name))
# print(type(f_type_url))
# print(type(f_list_name))
# print(type(f_list_url))

#进行改动
#首先对f_type_url
new_f_type_url = []
for i in f_type_url:
    new_f_type_url.append(sum_http+i)
# print(new_f_type_url)

#接下来对f_list_url继续宁改动
new_f_list_url = []
for i in range(len( f_list_url)):
  new_f_list_url.append(sum_http+f_list_url[i])
# print(new_f_list_url)

#开始合并
add_f = []
add_f_list = []
for i in range(len(f_type_name)):
    # print(f_type_name[i]+" "+new_f_type_url[i])
    add_f.append(f_type_name[i]+" "+new_f_type_url[i])
for i in range(len(f_list_name)):
    # print(f_list_name[i]+new_f_list_url[i])
    add_f_list.append(f_list_name[i]+" "+new_f_list_url[i])
print(add_f)
print(add_f_list)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44778375/article/details/123874901
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值