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

广州公司营销型网站建设沈阳seo博客

广州公司营销型网站建设,沈阳seo博客,logo成品效果图网站,郑州开发小程序多少钱一#xff1a;爬虫 1、爬取的目标 将豆瓣电影网上的电影的基本信息#xff0c;比如#xff1a;电影名称、导演、电影类型、国家、上映年份、评分、评论人数爬取出来#xff0c;并将爬取的结果放入csv文件中#xff0c;方便存储。 2、网站结构 图1豆瓣网网站结构详… 一爬虫 1、爬取的目标 将豆瓣电影网上的电影的基本信息比如电影名称、导演、电影类型、国家、上映年份、评分、评论人数爬取出来并将爬取的结果放入csv文件中方便存储。 2、网站结构     图1豆瓣网网站结构详情 此次实验爬取豆瓣网中电影页面中的电影的基本信息。 每一个电影包括电影名称、导演、电影类型、国家、上映年份、评分、评论人数。页面具体情况如图2所示。 图2豆瓣网电影基本信息详情 3、爬虫技术方案 1、所用技术          网站解析的使用的是Xpath、数据存储使用的是csv。 2、爬取步骤 1、导入所需的库如re、time、requests、lxml、random和csv。 2、定义一个名为main的函数该函数接受两个参数page页码和f文件对象。 3、在main函数中构造请求URL设置请求头并发送GET请求以获取网页内容。 4、使用lxml库解析网页内容提取电影详情页的链接列表和电影名称列表。 5、遍历链接列表和名称列表对于每个链接和名称调用get_info函数来获取电影的详细信息。 6、在get_info函数中同样构造请求URL设置请求头并发送GET请求以获取电影详情页的内容。 7、使用lxml库解析电影详情页的内容提取导演、电影类型、国家、上映时间、评分和评论人数等信息。 8、打印提取到的信息并将其写入CSV文件中。 9、在主程序中创建一个CSV文件并写入表头标题。 10、使用for循环遍历10个页面调用main函数来爬取每一页的电影信息。 11、在每次循环之间让程序休息一段时间以避免过于频繁的请求导致IP被封禁。 4、爬取过程     1、导入所需要的包      import re from time import sleep import requests from lxml import etree import random import csv import re导入正则表达式模块用于处理字符串。 from time import sleep从time模块导入sleep函数用于让程序暂停执行一段时间。 import requests导入requests模块用于发送HTTP请求。 from lxml import etree从lxml模块导入etree函数用于解析HTML文档。 import random导入random模块用于生成随机数。 import csv导入csv模块用于操作CSV文件。 2、设置请求头定义min函数接收参数访问连接提取列表    def main(page, f):url fhttps://movie.douban.com/top250?start{page * 25}filterheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.35 Safari/537.36, }resp requests.get(url, headersheaders)tree etree.HTML(resp.text)# 获取详情页的链接列表href_list tree.xpath(//*[idcontent]/div/div[1]/ol/li/div/div[1]/a/href)# 获取电影名称列表name_list tree.xpath(//*[idcontent]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text())for url, name in zip(href_list, name_list):f.flush() # 刷新文件try:get_info(url, name) # 获取详情页的信息except:passsleep(1 random.random()) # 休息print(f第{i 1}页爬取完毕)    3、使用正则表达式开始爬取网页信息 def get_info(url, name):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.35 Safari/537.36,Host: movie.douban.com,}resp requests.get(url, headersheaders)html resp.texttree etree.HTML(html)# 导演dir tree.xpath(//*[idinfo]/span[1]/span[2]/a/text())[0]# 电影类型type_ re.findall(rpropertyv:genre(.*?)/span, html)type_ /.join(type_)# 国家country re.findall(r地区:/span (.*?)br, html)[0]# 上映时间time tree.xpath(//*[idcontent]/h1/span[2]/text())[0]time time[1:5]# 评分rate tree.xpath(//*[idinterest_sectl]/div[1]/div[2]/strong/text())[0]# 评论人数people tree.xpath(//*[idinterest_sectl]/div[1]/div[2]/div/div[2]/a/span/text())[0]print(name, dir, type_, country, time, rate, people) # 打印结果csvwriter.writerow((name, dir, type_, country, time, rate, people)) # 保存到文件中 4、将爬取结果放入csv文件中 5、爬虫结果 二预处理 1、删除列     1、新建转换之后使用文件输入将csv文件输入进行处理      之后进行字段获取。 2、选择转换中的字段选择进行列删除将上映时间这个列进行删除。 2、选择转换中的增加常量增加评论数量这一列查询电影评论的数量这一情况。      最后选择文本文件输出将处理好的数据输出输出的格式是csv文件分割符用逗号隔开编码用UTF-8J进行转码防止输出文件中有乱码。文本文件命名成姓名_处理完成_csv。 4、预处理完全处理全流程 三爬虫数据源代码 代码 import re from time import sleep import requests from lxml import etree import random import csvdef main(page, f):url fhttps://movie.douban.com/top250?start{page * 25}filterheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.35 Safari/537.36, }resp requests.get(url, headersheaders)tree etree.HTML(resp.text)# 获取详情页的链接列表href_list tree.xpath(//*[idcontent]/div/div[1]/ol/li/div/div[1]/a/href)# 获取电影名称列表name_list tree.xpath(//*[idcontent]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text())for url, name in zip(href_list, name_list):f.flush() # 刷新文件try:get_info(url, name) # 获取详情页的信息except:passsleep(1 random.random()) # 休息print(f第{i 1}页爬取完毕)def get_info(url, name):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.35 Safari/537.36,Host: movie.douban.com,}resp requests.get(url, headersheaders)html resp.texttree etree.HTML(html)# 导演dir tree.xpath(//*[idinfo]/span[1]/span[2]/a/text())[0]# 电影类型type_ re.findall(rpropertyv:genre(.*?)/span, html)type_ /.join(type_)# 国家country re.findall(r地区:/span (.*?)br, html)[0]# 上映时间time tree.xpath(//*[idcontent]/h1/span[2]/text())[0]time time[1:5]# 评分rate tree.xpath(//*[idinterest_sectl]/div[1]/div[2]/strong/text())[0]# 评论人数people tree.xpath(//*[idinterest_sectl]/div[1]/div[2]/div/div[2]/a/span/text())[0]print(name, dir, type_, country, time, rate, people) # 打印结果csvwriter.writerow((name, dir, type_, country, time, rate, people)) # 保存到文件中if __name__ __main__:# 创建文件用于保存数据with open(03-movie-xpath.csv, a, encodingutf-8, newline)as f:csvwriter csv.writer(f)# 写入表头标题csvwriter.writerow((电影名称, 导演, 电影类型, 国家, 上映年份, 评分, 评论人数))for i in range(10): # 爬取10页main(i, f) # 调用主函数sleep(3 random.random())
http://www.pierceye.com/news/297074/

相关文章:

  • 手机网站 跳转把开发的网站让外网能访问要怎么做
  • 网站优化建设扬州网站的不同类
  • 为什么做电影网站没有流量仙桃网站设计
  • 个人站长做哪些网站好开发app软件怎么挣钱
  • 求免费网站能看的2021建立网站要什么条件和多少钱
  • 温州网站推广优化wordpress实用的插件
  • 烟台做网站找哪家好企业网站建设品牌
  • 无备案网站做cdnwordpress ishome
  • 国外营销企业网站公司的网站建设服务费
  • 外包做网站的要求怎么写一站式网站建设平台
  • 太原做网站联系方式番禺人才网招聘网
  • 怎样推广一个网站东莞市建设工程检测中心网站
  • 哪个网站做招聘海报比较好搜索公众号
  • 外包给网站建设注意事项营销方法有哪些方式
  • 提供手机网站制作公司网站建设与域名建设
  • 网站建设计入哪个明细科目网站公众号建设工具
  • 自己做公司网站难吗域名备案管局审核要多久
  • 电子商务网站建设花费百度公司的业务范围
  • 虹口网站建设公司在线观看视频网站怎么做
  • 哈尔滨市建设安全监察网站_首页新津网站建设
  • 安卓 网站整站下载网址导航怎么更换
  • 数据展示网站模板备案 非网站备案
  • 邯郸做网站推广找谁jsp做的网站代码
  • php网站开发怎么接私活全能医院网站管理系统
  • 观止网站建设10元建站
  • 什么网站做聚乙烯醇好的三亚旅游攻略
  • 建设网站目的直播间网站开发
  • 网站项目评价怎么在网站上做签到
  • 深圳网站建设制作哪家好长春网站开发培训
  • 模板下载网站网络公司网站开发