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

合肥网站建设公司 千鸟做网站是什么工作

合肥网站建设公司 千鸟,做网站是什么工作,portfolio做网站,营销型网站建设原则1. 爬虫和代理IP的关系 爬虫和代理IP之间的关系密切#xff0c;代理IP可以安全采集公开数据信息#xff0c;保证爬虫的持续运行和数据采集。 2. 使用代理IP的好处 使用代理IP可以带来以下好处#xff1a; 匿名保护#xff0c;保护隐私安全安全采集公开数据信息分散访问…1. 爬虫和代理IP的关系 爬虫和代理IP之间的关系密切代理IP可以安全采集公开数据信息保证爬虫的持续运行和数据采集。 2. 使用代理IP的好处 使用代理IP可以带来以下好处 匿名保护保护隐私安全安全采集公开数据信息分散访问压力提高爬取效率和稳定性。收集不同地区或代理服务器上的数据用于数据分析和对比。 然而使用代理IP也存在一些挑战和注意事项 IP安全性低无法高效采集公开数据。 使用代理IP可能增加网络请求的延迟和复杂性需要合理配置和调整爬虫程序。 使用代理IP需要遵守相关法律法规和目标网站的使用规则不得进行非法活动或滥用代理IP服务。 博主最近使用的是亮数据家的代理IPIP质量很高个人感觉还不错亮数据官网 3. 爬取目标 这次爬虫实战的目标是某瓣电影Top250排行榜爬取的字段排名、电影名、评分、评价人数、制片国家、电影类型、上映时间、主演、影片链接 预期效果写入Excel 4. 准备工作 Python3.10 编辑器PyCharm 第三方模块自行安装 pip install requests # 网页数据爬取 pip install pandas # 数据处理 pip install xlwt # 写入Excel pip install lxml # 提取网页数据5. 爬虫实现 5.1 获取代理IP 1、打开亮数据的官网点击立刻使用点击试用 2、输入账号密码注册账号 3、注册后以后点击查看代理IP产品 4、选择适合自己ide产品如果你使用公司邮件注册可以找客服开通免费试用 5、获取代理IP后通过proxies参数添加代理发送请求案例代码 proxies {http: http://IP地址:端口号, # http型https: https://IP地址:端口号 # https型 } response requests.get(url,headersheaders,proxiesproxies)5.2 导入模块 import re # 正则用于提取字符串 import pandas as pd # pandas用于写入Excel文件 import requests # python基础爬虫库 from lxml import etree # 可以将网页转换为Elements对象 import time # 防止爬取过快可以睡眠一秒5.3 设置翻页 首先我们来分析一下网站的翻页一共有10页 第一页主页为 https://movie.douban.com/top250?start0filter第二页 https://movie.douban.com/top250?start25filter第三页 https://movie.douban.com/top250?start50filter可以看出每页只有start后面的参数每次上涨25所以用循环来构造10页网页链接 def main():data_list [] # 空列表用于存储每页获取到的数据for i in range(10):url https://movie.douban.com/top250?startstr(i*25)filter5.4 发送请求 这里我们创建一个get_html_str(url)函数传入网页url链接通过添加请求头和代理IP发送请求获取网页源码注意这里代理IP这里需要看5.1 获取代理IP自己去获取博主的已过期 def get_html_str(url):发送请求获取响应# 请求头模拟浏览器headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36}# 添加代理IP这里代理IP这里需要看5.1 获取代理IP自己去获取博主的已过期proxies {http: http://183.134.17.12:9181,}# 添加请求头和代理IP发送请求response requests.get(url,headersheaders,proxiesproxies)# 获取网页源码html_str response.content.decode()# 返回网页源码return html_str5.5 提取数据 当我们拿到网页源码后创建一个get_data(html_str,data_list)函数传入html_str也就是网页源码、data_list用于存储数据就可以使用xpath开始解析数据了 1、分析网页结构可以看到每一个电影都在ol标签下的li标签下 2、然后我们看li标签的数据是否完整可以看到我们需要的字段都有 3、接下来开始写解析代码 def get_data(html_str, data_list):提取数据写入列表# 将html字符串转换为etree对象方便后面使用xpath进行解析html_data etree.HTML(html_str)# 利用xpath取到所有的li标签li_list html_data.xpath(//ol[classgrid_view]/li)# 打印一下li标签个数看是否和一页的电影个数对得上print(len(li_list)) # 输出25没有问题# 遍历li_list列表取到某一个电影的对象for li in li_list:# 用xpath获取每一个字段信息# 排名ranking li.xpath(.//div[classpic]/em/text())[0]# 电影名title li.xpath(.//div[classhd]/a/span[1]/text())[0]# 评分score li.xpath(.//span[classrating_num]/text())[0]# 评价人数evaluators_number li.xpath(.//div[classstar]/span[4]/text())[0]evaluators_number evaluators_number.replace(人评价, ) # 将人评价替换为替换为空更美观# 导演、主演str1 li.xpath(.//div[classbd]/p[1]//text())[0]# 利用正则提取导演名try:director re.findall(导演: (.*?)主演, str1)[0]director re.sub(\xa0, , director)except:director None# 利用正则提取主演try:performer re.findall(主演: (.*), str1)[0]performer re.sub(\xa0, , performer)except:performer None# 上映时间、制片国家、电影类型都在这里标签下str2 li.xpath(.//div[classbd]/p[1]//text())[1]#try:# 通过斜杠进行分割str2_list str2.split( / )# 年份year re.sub([\n ], , str2_list[0])# 制片国家country str2_list[1]# 影片类型type re.sub([\n ], , str2_list[2])except:year Nonecountry Nonetype Noneurl li.xpath(.//div[classhd]/a/href)[0]print({排名: ranking, 电影名: title, 评分: score, 评价人数: evaluators_number, 导演: director,主演: performer, 年份: year, 制片国家: country, 影片类型: type, 影片主页链接: url})data_list.append({排名: ranking, 电影名: title, 评分: score, 评价人数: evaluators_number, 导演: director,主演: performer, 年份: year, 制片国家: country, 影片类型: type, 影片主页链接: url})运行结果 5.6 保存数据 当我们提取完数据以后就可以写入用pandas写入Excel表格中创建into_excel(data_list)函数将存储数据的data_list列表作为参数传入然后用pandas的to_excel函数写入excel表格 def into_excel(data_list):# 创建DataFrame对象df pd.DataFrame(data_list)# 写入excel文件df.to_excel(电影Top250排行.xlsx)5.7 调用主函数 第一步设置翻页然后获取网页源码接着提取数据限制爬取的速度最后写入Excel文件 def main():data_list [] # 空列表用于存储每页获取到的数据# 1. 设置翻页for i in range(10):url https://movie.douban.com/top250?start str(i * 25) filter# 2. 获取网页源码html_str get_html_str(url)# 3. 提取数据get_data(html_str, data_list)# 4. 限制爬取的速度time.sleep(5)# 5. 写入excelinto_excel(data_list)5.8 完整源码 这里附上完整源码注意get_html_str(url)函数中的代理IP这里需要看5.1 获取代理IP自己去获取博主的已过期然后直接运行程序即可 import re # 正则用于提取字符串 import pandas as pd # pandas用于写入Excel文件 import requests # python基础爬虫库 from lxml import etree # 可以将网页转换为Elements对象 import time # 防止爬取过快可以睡眠一秒def get_html_str(url):发送请求获取响应# 请求头模拟浏览器headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36}# 添加代理IP这里代理IP这里需要看5.1 获取代理IP自己去获取博主的已过期proxies {http: http://183.134.17.12:9181,}# 添加请求头和代理IP发送请求response requests.get(url, headersheaders, proxiesproxies) ## 获取网页源码html_str response.content.decode()# 返回网页源码return html_strdef get_data(html_str, data_list):提取数据写入列表# 将html字符串转换为etree对象方便后面使用xpath进行解析html_data etree.HTML(html_str)# 利用xpath取到所有的li标签li_list html_data.xpath(//ol[classgrid_view]/li)# 打印一下li标签个数看是否和一页的电影个数对得上print(len(li_list)) # 输出25没有问题# 遍历li_list列表取到某一个电影的对象for li in li_list:# 用xpath获取每一个字段信息# 排名ranking li.xpath(.//div[classpic]/em/text())[0]# 电影名title li.xpath(.//div[classhd]/a/span[1]/text())[0]# 评分score li.xpath(.//span[classrating_num]/text())[0]# 评价人数evaluators_number li.xpath(.//div[classstar]/span[4]/text())[0]evaluators_number evaluators_number.replace(人评价, ) # 将人评价替换为替换为空更美观# 导演、主演str1 li.xpath(.//div[classbd]/p[1]//text())[0]# 利用正则提取导演名try:director re.findall(导演: (.*?)主演, str1)[0]director re.sub(\xa0, , director)except:director None# 利用正则提取主演try:performer re.findall(主演: (.*), str1)[0]performer re.sub(\xa0, , performer)except:performer None# 上映时间、制片国家、电影类型都在这里标签下str2 li.xpath(.//div[classbd]/p[1]//text())[1]#try:# 通过斜杠进行分割str2_list str2.split( / )# 年份year re.sub([\n ], , str2_list[0])# 制片国家country str2_list[1]# 影片类型type re.sub([\n ], , str2_list[2])except:year Nonecountry Nonetype Noneurl li.xpath(.//div[classhd]/a/href)[0]print({排名: ranking, 电影名: title, 评分: score, 评价人数: evaluators_number, 导演: director,主演: performer, 年份: year, 制片国家: country, 影片类型: type, 影片主页链接: url})data_list.append({排名: ranking, 电影名: title, 评分: score, 评价人数: evaluators_number, 导演: director,主演: performer, 年份: year, 制片国家: country, 影片类型: type, 影片主页链接: url})def into_excel(data_list):# 创建DataFrame对象df pd.DataFrame(data_list)# 写入excel文件df.to_excel(电影Top250排行.xlsx)def main():data_list [] # 空列表用于存储每页获取到的数据# 1. 设置翻页for i in range(10):url https://movie.douban.com/top250?start str(i * 25) filter# 2. 获取网页源码html_str get_html_str(url)# 3. 提取数据get_data(html_str, data_list)# 4. 限制爬取的速度time.sleep(5)# 5. 写入excelinto_excel(data_list)if __name__ __main__:main()程序运行完毕后生成excel文件
http://www.w-s-a.com/news/498588/

相关文章:

  • 成都关键词seo推广平台手机端关键词排名优化软件
  • 学做软件的网站卡盟平台
  • 网站构建建设案例展示关于做服饰网站的首页
  • 如何建设网站论坛凡科建站手机版登录
  • 建设银行门户网站惠州公司网站建设价格
  • 用python开发网站网站如何取消验证码
  • 公司做企业网站互联网建网站
  • 建网站需要的费用公司注册后怎么做网站
  • 宣传电脑的网站开发运动网站建设教程
  • 网站建设公司都会有哪些花销做网站公司商丘
  • 网站风格有哪些软件定制和开发
  • 公司网络维护具体做什么河南网站推广优化公司哪家好
  • 中学生制作的网站常平哪里有招计算机网站开发的
  • 原创网站模版苏州响应式网站建设
  • 做海报在哪个网站可以找素材网址申请注册方法
  • 网站建设分哪些类别别人做的网站不能用
  • 做网站网站会怎么样全国高校校园网站联盟建设
  • 整站下载器 做网站地图地产项目网站设计
  • 创意设计网站公司手机wap网站建设多少钱
  • 甘肃省第八建设集团公司网站seo高级优化方法
  • 精美的商城网站介绍最多人用的wordpress子主题
  • 检察门户网站建设情况俄外长抵达北京
  • 老电脑做网站服务器网站在线留言如何做
  • 南宁广告公司网站建设小程序源码破解
  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程