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

网站建设案例分析题.xyz做网站怎么样

网站建设案例分析题,.xyz做网站怎么样,wordpress签到领积分,网上培训ui设计由于要抓取的是悦音台mv的排行榜,这个排行榜是实时更新的,如果要求不停地抓取,这将有可能导致悦音台官方采用反爬虫的技术将ip给封掉。所以这里要应用一些反爬虫相关知识。 目标网址:http://vchart.yinyuetai.com/vchart/trends?…

由于要抓取的是悦音台mv的排行榜,这个排行榜是实时更新的,如果要求不停地抓取,这将有可能导致悦音台官方采用反爬虫的技术将ip给封掉。所以这里要应用一些反爬虫相关知识。

目标网址http://vchart.yinyuetai.com/vchart/trends?area=ML

网站结构:

上面红线圈出来的地方都是需要注意的小细节:

首先 排行榜分为,内地、港台、欧美、韩国、日本五个地区
分别将其点开能够观察到url的变化为在最尾部加了一个参数:area=地区参数

很容易的就能知道参数列表:['ML','HT','US','JP','KR'] 分别对应着内地、香港、欧美、日本、以及韩国。发现这个规律之后,只要通过简单的对url的变化就能多次请求,筛选出想要的信息。

其次 可以发现,有的mv分数是呈现上升趋势,有的mv的分数是成下降趋势,这在网页的代码结构稍有不同。

最后,可以看到 这里mv的排行榜数据是实时更新的,所以爬虫程序要不停的在后台运行才能保证获得的数据是最新的,这样就会引起官方人员的注意,他们的反爬虫技术有可能就会将爬虫的IP封掉。

完整代码:

import requests
from bs4 import BeautifulSoup
import randomdef get_html(url):try:r = requests.get(url,timeout=30)r.raise_for_statusr.encoding = 'utf-8'return r.textexcept:return 'error'def get_agent():'''模拟header的user-agent字段,返回一个随机的user-agent字典类型的键值对'''agents = ['Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;','Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1','Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)']fakeheader = {}fakeheader['User-agent'] = agents[random.randint(0, len(agents))]return fakeheaderdef get_proxy():'''简单模拟代理池返回一个字典类型的键值对,'''proxy = ["http://116.211.143.11:80","http://183.1.86.235:8118","http://183.32.88.244:808","http://121.40.42.35:9999","http://222.94.148.210:808"]fakepxs = {}fakepxs['http'] = proxy[random.randint(0, len(proxy))]return fakepxsdef get_content(url):# 先打印一下表头if url[-2:] == 'ML':print('内地排行榜')elif url[-2:] == 'HT':print('香港排行榜')elif url[-2:] == 'US':print('欧美排行榜')elif url[-2:] == 'KR':print('韩国排行榜')else:print('日本排行榜')html = get_html(url)soup = BeautifulSoup(html,'lxml')li_list = soup.find_all('li',class_='vitem J_li_toggle_date ')for li in li_list:content = {}try:# 判断分数升降if li.find('h3',class_='desc_score'):content['分数'] = li.find('h3',class_='desc_score').textelse:content['分数'] = li.find('h3',class_='asc_score').textcontent['排名'] = li.find('div',class_='top_num').textcontent['名字'] = li.find('a',class_='mvname').textcontent['发布时间'] = li.find('p',class_='c9').text[5:]content['歌手'] = li.find('a',class_='special').textexcept:return Noneprint(content)def main():base_url = 'http://vchart.yinyuetai.com/vchart/trends?area='suffix = ['ML','HT','US','JP','KR']for suff in suffix:url = base_url + suffprint()get_content(url)if __name__ == '__main__':main()

输出结果:

转载于:https://www.cnblogs.com/Lovebugs/p/7244682.html

http://www.yayakq.cn/news/569026/

相关文章:

  • 大气物流网站源码上海网页制作服务公司
  • 专业网站建设公司哪个公司好临沂网站seo
  • 哈尔滨制作网站价格济南外贸seo
  • 营销网站建设选择原则兰州网络推广优化网
  • 网站建设丶金手指下拉12珠海市企业网站制作品牌
  • 国内it外包龙头企业网站seo策划
  • asp作业做购物网站代码长沙建网站公司
  • 上海浦东建筑建设网站污水处理工程做网站建设业务员怎么样
  • 品牌网站建设报价单vs和php哪个做网站好
  • 安顺网站开发公司外贸推广软件
  • 邯郸网站制作哪家强济宁网站运营策略
  • 上海建设工程施工许可证查询网站行业门户网站解决方案
  • 帮别人做视频剪辑的网站北京网站建立公司
  • 设一个网站链接为安全怎么做电商seo
  • 蚂蚁网站建设主题网站设计欣赏
  • 微信h5免费制作网站模板下载中国互联网协会调解中心
  • 在网站中添加搜索引擎php开源网站 网上商城
  • 乐都企业网站建设多少钱网站维护与推广定义
  • 做摄影网站的公司羽毛球赛事2022直播
  • 一个做网站的团队需要哪些wordpress自动上传外链图片
  • 网站开发怎么找客户做网站赤峰
  • 用虚拟机做网站服务器吗外网设计灵感网站
  • 做网站软件图标是一个箭头的做二手网站赚钱不
  • 深圳市住房建设部官方网站企业微网站开发
  • 盘锦做网站多少钱七七网站建设
  • 做公司网站的南宁公司什么网站可以做会计题目
  • 营销型网站如何建设方案下列关于网站开发中网页上传和
  • 建设企业网站的作用朝阳区搜索优化seosem
  • wordpress仿站教程+vip建网站衡水哪家强?
  • wordpress 登陆原理百度seo服务方案