栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬虫

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫

# -*- coding=utf-8 -*-
from bs4 import BeautifulSoup  # 网页解析,获取数据
import re
import urllib.request
import xlwt
import sqlite3


def main():
    baseurl = "https://movie.douban.com/top250?start="
    # 1.爬取网页
    datalist = getData(baseurl)
    savepath = ".\豆瓣电影top250.xls"
    # 3.保存数据
    # saveData(savepath)
    askURL("https://movie.douban.com/top250?start=0")


findlink = re.compile(r'')  # 创建正则表达式对象,表示规则(字符串的模式)

findImgSrc = re.compile(r', re.S)  # 让换行符包含在字符中

findTitle = re.compile(r'(.*)')

findRating = re.compile(r'.*')

findJudge = re.compile(r'(d*人评价)')

findInq = re.compile(r'(.*)')

findBd = re.compile(r'

(.*)

', re.S) #S就是忽略换行符 # 爬取网页 def getData(baseurl): datalist = [] for i in range(0, 1): # 调用获取页面信息的函数 url = baseurl + str(i * 25) # 每页25个 html = askURL(url) # 保存获取到的网页源码 # 2.逐一解析数据 一个网页解析一次 soup = BeautifulSoup(html, "html.parser") for item in soup.find_all('div', class_="item"): # print(item) data = [] # 保存一部电影的所有信息 item = str(item) link = re.findall(findlink, item)[0] print(link) # 查找符合要求的字符串形成列表 return datalist # 数据列表 # 得到指定一个URL网页的内容 def askURL(url): # 模拟头部信息,发送消息 head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52"} # 用户代理表示告诉豆瓣代理我们是什么类型的机器、浏览器,我们可以接受什么类型的内容 request = urllib.request.Request(url, headers=head) html = "" try: response = urllib.request.urlopen(request) html = response.read().decode("utf-8") # print(html) except urllib.error.URLError as e: if hasattr(e, "code"): print(e.code) if hasattr(e, "reason"): print(e.reason) return html def saveData(dbpath): print("Saved") if __name__ == "__main__": main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号