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

如何做企业网站开发杭州网站建设杭州手机网站建设

如何做企业网站开发,杭州网站建设杭州手机网站建设,做移动网站优化,网游传奇关于整理日常练习的一些爬虫小练习,可用作学习使用。 爬取项目以学习为主,尽可能使用更多的模块进行练习,而不是最优解。 爬虫概要 示例python 库爬取模块request解析模块BeautifulSoup存储类型list(方便存入数据库&#xff09…

关于整理日常练习的一些爬虫小练习,可用作学习使用。

爬取项目以学习为主,尽可能使用更多的模块进行练习,而不是最优解。

爬虫概要

示例python 库
爬取模块request
解析模块BeautifulSoup
存储类型list(方便存入数据库)

解析

 

代码示例

# -*- coding: utf-8 -*-import requests
from requests.exceptions import ReadTimeout, ConnectionError, RequestException
from bs4 import BeautifulSoup# 爬虫主体
def get_page(url):headers = {'Connection': 'keep-alive','Cache-Control': 'max-age=0','User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Referer': 'https://maoyan.com/board',}try:response = requests.get(url=url, headers=headers).textreturn responseexcept ReadTimeout:  # 访问超时的错误print('Timeout')except ConnectionError:  # 网络中断连接错误print('Connect error')except RequestException:  # 父类错误print('Error')# 解析网页
def parse_page(html):soup = BeautifulSoup(html, 'lxml')grid = soup.find(name="ol", attrs={"class": "grid_view"})movie_list = grid.find_all("li")for movie in movie_list:rank = movie.find(name="em").getText()name = movie.find(name="span", attrs={"class": "title"}).getText()rating_num = movie.find(name="span", attrs={"class": "rating_num"}).getText()# bd = movie.find(name="p").getText().strip().replace('   ', '\n').replace('...\n                            ', '...\n').replace(' / ', '\n').split('\n')  # 头皮发麻字符串分解系列,因为练习没用 re,果然原生字符串处理麻烦的一匹,strip去除空格,replace替换,旨在将不同信息分类存储到不同的参数,如导演、主演、上映时间、上映时间和电影类型bd = movie.find(name="p").getText().strip().replace('   ', '\n').replace('...\n                            ', '...\n').replace(' / ', '\n').split('\n')  # 头皮发麻字符串分解系列,因为练习没用 re,果然原生字符串处理麻烦的一匹,strip去除空格,replace替换,旨在将不同信息分类存储到不同的参数,如导演、主演、上映时间、上映时间和电影类型# 豆瓣有些主演没有。。。贼蛋疼,为了简便只能写个烂代码再增加一次了if len(bd) == 4:bd.insert(1, '没爬到')inq = movie.find(name="span", attrs={"class": "inq"})# 处理 inq 为空的情况if not inq:inq = "暂无"else:inq = inq.getText()# 这里直接存储到字典,方便存到数据库douBanDict['rank'] = rankdouBanDict['name'] = namedouBanDict['director'] = bd[0]douBanDict['actor'] = bd[1]douBanDict['release_time'] = bd[2].strip()  # 某些列表有空格,直接strip()去除空格douBanDict['country'] = bd[3]douBanDict['movie_types'] = bd[4]douBanDict['rating_num'] = rating_numdouBanDict['inq'] = inqdouBanList.append(str(douBanDict))  # 字典先转为字符串再累加到列表中,否则无法字典值会一直变return douBanListif __name__ == '__main__':douBanList = []douBanDict = {}for start in range(0, 250, 25):url = 'https://movie.douban.com/top250?start={}&filter='.format(start)html = get_page(url)douBanList = parse_page(html)print(douBanList)

数据存储

直接是列表格式,同时包含各个电影信息的字典。

 

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

相关文章:

  • 做的网站速度慢前端设计
  • 最专业的营销网站建设公司网页设计教程心得体会
  • 镇平做网站模板建房多少钱一平方
  • 公司网站建设大概多少钱建站服务网络公司
  • 免费制作短视频软件闵行区seo快速排名优化哪里好
  • 巧克力网站模板东莞做网页设计
  • 找外包网站 和自己做wordpress 插件手机
  • 旅游网站建设服务对象flash云网站
  • 做流量任务的试用网站甘肃省建设厅官网网址
  • 怎么做网站首页psd安徽网站推广优化
  • 大连建设银行招聘网站建立网站编程
  • 惠州城乡建设部网站建一个网站做cpa联盟
  • 中小企业网站建设展馆设计公司排名
  • 延寿县建设银行网站网站上放百度地图怎么
  • 矿业公司网站源码企业网站优化方案案例
  • oppo手机网站建设策划方案教学app制作
  • 有没有公司做农副产品网站的360做的网站首页
  • 网站收录平台方法ui设计入门教程
  • 个人企业网站如何申请公司名称注册
  • 重庆市设计公司网站广东建设资格注册中心网站
  • 福建省住房和城乡建设网站三亚做网站多少钱一平方
  • 网站突然不收录2017太湖县住房和城乡建设网站市建设局
  • 专门做评测的网站网络运维招聘
  • 兼职网站开发兰州网站优化服务
  • 大连开发区规划建设局网站邯郸市建设局网站政策
  • 用源码怎么做网站网络广告电话
  • 网站建设哪家好公司邯郸做网站网络公司
  • 桂林景区网站建设策划方案263企业邮箱入口登录官网
  • 最权威的网站推广公司ui设计师证书怎么考
  • 广西玉林网站建设网站用什么cms