当前位置: 首页 > news >正文

做网站设计用到的软件太原seo自媒体

做网站设计用到的软件,太原seo自媒体,上海科技网站设计建设,网站的二级网页关键词思路: 进入电影天堂首页,提取到主页面中的每一个电影的背后的那个urL地址 a. 拿到“2024必看热片”那一块的HTML代码 b. 从刚才拿到的HTML代码中提取到href的值访问子页面,提取到电影的名称以及下载地址 a. 拿到子页面的页面源代码 b. 数据提…

思路:

  1. 进入电影天堂首页,提取到主页面中的每一个电影的背后的那个urL地址
    a. 拿到“2024必看热片”那一块的HTML代码
    b. 从刚才拿到的HTML代码中提取到href的值
  2. 访问子页面,提取到电影的名称以及下载地址
    a. 拿到子页面的页面源代码
    b. 数据提取

代码实现:

from tqdm import tqdm
import requests
import re
from selenium import webdriver
from selenium.webdriver.edge.options import Optionsclass MovieScraper:"""MovieScraper类用于从网站抓取电影信息。属性----------edge_options : Options用于配置webdriver的selenium Options对象web_driver : webdriver用于与网站交互的selenium webdriverrequest_headers : dict包含请求头的字典方法-------get_response(url)向指定的URL发送GET请求并返回响应。get_movie_list_html(response)从响应中提取电影列表的HTML。get_sub_url_list(movie_list_html)从电影列表HTML中提取子URL。get_movie_info(child_response)从子URL的响应中提取电影信息。scrape(target_url)从指定的URL抓取电影信息并写入文件。"""def __init__(self):"""初始化MovieScraper,配置webdriver和请求头。"""self.edge_options = Options()self.edge_options.add_argument("headless")self.web_driver = webdriver.Edge(options=self.edge_options)self.request_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"}def get_response(self, url):"""向指定的URL发送GET请求并返回响应。参数----------url : str要发送请求的URL。返回-------response : ResponseGET请求的响应。"""response = requests.get(url, headers=self.request_headers)response.encoding = "gbk"return responsedef get_movie_list_html(self, response):"""从响应中提取电影列表的HTML。参数----------response : Response要提取HTML的响应。返回-------movie_list_html : str电影列表的HTML。"""movie_list_pattern = re.compile(r'2024必看热片.*?<ul>(?P<html>.*?)</ul>', re.S)movie_list_result = movie_list_pattern.search(response.text)return movie_list_result.group("html")def get_sub_url_list(self, movie_list_html):"""从电影列表HTML中提取子URL。参数----------movie_list_html : str电影列表的HTML。返回-------sub_url_list : iterator子URL的迭代器。"""sub_url_pattern = re.compile(r"<li><a href='(?P<sub_url>.*?)'", re.S)return sub_url_pattern.finditer(movie_list_html)def get_movie_info(self, child_response):"""从子URL的响应中提取电影信息。参数----------child_response : Response要提取电影信息的响应。返回-------movie_info_result : Match包含电影信息的匹配对象。"""movie_info_pattern = re.compile(r'◎片  名 (?P<movie>.*?)<br.*?<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(?P<download>.*?)"', re.S)return movie_info_pattern.search(child_response.text)def scrape(self, target_url):"""从指定的URL抓取电影信息并写入文件。参数----------target_url : str要抓取电影信息的URL。"""self.web_driver.get(target_url)response = self.get_response(target_url)movie_list_html = self.get_movie_list_html(response)sub_url_list = self.get_sub_url_list(movie_list_html)with open("电影天堂.txt", "w", encoding="utf-8") as file:for sub_url in tqdm(sub_url_list, desc="处理URL中", unit="URL"):child_url = target_url + sub_url.group("sub_url")child_response = self.get_response(child_url)movie_info_result = self.get_movie_info(child_response)download_link = movie_info_result.group("download")file.write(download_link + "\n")self.web_driver.quit()print("爬取完毕")if __name__ == "__main__":scraper = MovieScraper()scraper.scrape("https://www.dy2018.com/")

效果:

在这里插入图片描述

http://www.zhongyajixie.com/news/31906.html

相关文章:

  • 如何做网站直播入口广州seo网站开发
  • 宝安做网站电脑培训零基础培训班
  • 怎样做网站pptseo排名软件免费
  • 查看网页源代码无锡seo关键词排名
  • 18款禁用软件app破解版合肥百度关键词优化
  • 烟台做网站百度seo培训要多少钱
  • 找网站建设企业网络seo外包
  • 绩溪住房建设网站360推广助手
  • 目前流行的网站开发设计网站模板搭建
  • 厦门网站设计一般要多久网站seo快速排名
  • 网站注册qq线上推广渠道主要有哪些
  • 北京做网站的好公司有哪些北京seo招聘网
  • 2017年网站推广怎么做站长之家素材
  • 中国旅游网站的建设哪家网络营销好
  • 网站构建计划seo优化排名经验
  • seo的网站上海宝山网站制作
  • 网站最合适的字体大小微商引流的最快方法是什么
  • 优秀网站例子app拉新推广平台有哪些
  • 周口网站关键词优化东莞seo代理
  • 滨州做企业网站软文广告的案例
  • 做详情页生成代码的网站全网营销整合营销
  • wordpress-5.0.3seo快排
  • 做百度推广网站找谁好泉州关键词搜索排名
  • 兰州电商平台网站建设自动点击竞价广告软件
  • 网站制作的重要性怎么免费创建个人网站
  • 图片网站怎么做百度指数官网移动版
  • 网站开发专业有什么工作seo zac
  • wordpress后台隐藏指定分类目录seo培训优化课程
  • 深圳做网站网络营销公司哪家好软文推广什么意思
  • 遵义市住房和城乡建设厅网站东莞网站建设方案报价