-
2020-12-10 13:43:50
展开全部
使用62616964757a686964616fe4b893e5b19e31333363393634 BeautifulSoup 进行解析 html,需要安装 BeautifulSoup#coding=utf-8
import urllib2
import socket
import httplib
from bs4 import BeautifulSoup
UserAgent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36'
def downloadPage(url):
try:
opener = urllib2.build_opener()
headers = { 'User-Agent': UserAgent }
req = urllib2.Request(url = url, headers = headers)
resp = opener.open(req, timeout = 30)
result = resp.read()
return result
except urllib2.HTTPError, ex:
print ex
return ''
except urllib2.URLError, ex:
print ex
return ''
except socket.error, ex:
print ex
return ''
except httplib.BadStatusLine, ex:
print ex
return ''
if __name__ == '__main__':
content = downloadPage("这填douban的地址")
#print content
soap = BeautifulSoup(content, 'lxml')
lst = soap.select('ol.grid_view li')
for item in lst:
# 电影详情页链接
print item.select('div.item > div.pic a')[0].attrs['href']
# 图片链接
print item.select('div.item > div.pic a img')[0].attrs['src']
# 标题
print item.select('div.item > div.info > div.hd > a > span.title')[0].get_text()
# 评分
print item.select('div.item > div.info > div.bd > div.star > span.rating_num')[0].get_text()
print '-------------------------------------------------------------------------'
更多相关内容 -
如何利用python抓取网页文字、图片内容?
2020-12-14 05:55:19一起来看下吧~获取图片:1、当我们浏览这个网站时,会发现,每一个页面的URL都是以网站的域名+page+页数组成,这样我们就可以逐一的访问该网站的网页了。2、当我们看图片列表时中,把鼠标放到图片,右击检查,我们...想必新老python学习者,对爬虫这一概念并不陌生,在如今大数据时代,很多场景都需要利用爬虫去爬取数据,而这刚好时python领域,如何实现?怎么做?一起来看下吧~
获取图片:
1、当我们浏览这个网站时,会发现,每一个页面的URL都是以网站的域名+page+页数组成,这样我们就可以逐一的访问该网站的网页了。
2、当我们看图片列表时中,把鼠标放到图片,右击检查,我们发现,图片的内容由ul包裹的li组成,箭头所指的地方为每个套图的地址,这样我们就可以进入套图,一个这样的页面包含有24个这样的套图,我们用BeautifulSoup处理。
3、我们进入套图,鼠标右击,发现该套图图片的最大图片数为第十个span的值,而且每个套图的url同①原理相同为套图的url+第几张图片,最后下载的url由一个class为main-titleDIV组成。提取img标签的src属性即可获得下载链接。
代码如下:from bs4 import BeautifulSoup
import requests
import os
import re
base_url='
header = { 'Referer':'http://www.mzitu.com'}
for x in range(61,62):
html_a=requests.get(base_url+str(x),headers=header)
soup_a=BeautifulSoup(html_a.text,features='lxml')
pages=soup_a.find('ul',{'id':'pins'}).find_all('a')
test=re.findall('"href":"(.*?)"',pages)
print(test)
b=1
for y in pages:
if(b%2!=0):
html=requests.get(y['href'],headers=header)
soup_b=BeautifulSoup(html.text,features='lxml')
pic_max=soup_b.find_all('span')[10].text
tittle=soup_b.find('h2',{'class':'main-title'}).text
u=str(tittle).replace(':','').replace('!','').replace('?','').replace(',','').replace(' ','')
os.makedirs('./img/'+u)
for i in range(1,int(pic_max)+1):
href=y['href']+'/'+str(i)
html2=requests.get(href,headers=header)
soup2=BeautifulSoup(html2.text,features='lxml')
pic_url=soup2.find('img',alt=tittle)
html_name=requests.get(pic_url['src'],headers=header,stream=True)
file_name=pic_url['src'].split(r'/')[-1]
with open('./img/'+u+'/'+file_name,'wb') as f:
for x in html_name.iter_content(chunk_size=32):
f.write(x)
b=b+1
print('ok')
如需更多python实用知识,点击进入PyThon学习网教学中心。
-
python如何爬取网页中的文字
2020-12-17 08:48:25用Python进行爬取网页文字的代码: #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import re # 下载一个网页 url = 'https://www.biquge.tw/75_75273/3900155.html' # 模拟浏览器发送http请求 ... -
python基于BeautifulSoup实现抓取网页指定内容的方法
2020-09-21 22:10:45主要介绍了python基于BeautifulSoup实现抓取网页指定内容的方法,涉及Python使用BeautifulSoup模块解析html网页的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 -
怎么用python爬取网页文字?
2021-02-04 05:59:32用Python进行爬取网页文字的代码:#!/usr/bin/python#-*-coding:UTF-8-*-importrequestsimportre#下载一个网页url='https://www.biquge.tw/75_75273/3900155.html'#模拟浏览器发送http请求response=requests.get(url...用Python进行爬取网页文字的代码:#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
import re
# 下载一个网页
url = 'https://www.biquge.tw/75_75273/3900155.html'
# 模拟浏览器发送http请求
response = requests.get(url)
# 编码方式
response.encoding='utf-8'
# 目标小说主页的网页源码
html = response.text
print(html)
1、编写爬虫思路:
确定下载目标,找到网页,找到网页中需要的内容。对数据进行处理。保存数据。
2、知识点说明:
1)确定网络中需要的信息,打开网页后使用F12打开开发者模式。
在Network中可以看到很多信息,我们在页面上看到的文字信息都保存在一个html文件中。点击文件后可以看到response,文字信息都包含在response中。
对于需要输入的信息,可以使用ctrl f,进行搜索。查看信息前后包含哪些特定字段。
对于超链接的提取,可以使用最左边的箭头点击超链接,这时Elements会打开有该条超链接的信息,从中判断需要提取的信息。从下载小说来看,在目录页提取出小说的链接和章节名。
2)注意编码格式
输入字符集一定要设置成utf-8。页面大多为GBK字符集。不设置会乱码。
-
如何用Python获取网页指定内容
2021-11-10 22:48:55如何用Python获取网页指定内容 文章目录如何用Python获取网页指定内容1.抓取网页源代码2.抓取一个网页源代码中的某标签内容3.抓取多个网页子标签的内容 Python用做数据处理还是相当不错的,如果你想要做爬虫,Python...Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能
在我们开始之前,我们需要安装一些环境依赖包,打开命令行
确保电脑中具有python和pip,如果没有的话则需要自行进行安装之后我们可使用pip安装必备模块 requests
pip install requests
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,requests 允许你发送 HTTP/1.1 请求。指定 URL并添加查询url字符串即可开始爬取网页信息1.抓取网页源代码
以该平台为例,抓取网页中的公司名称数据,网页链接:https://www.crrcgo.cc/admin/crr_supplier.html?page=1
目标网页源代码如下:
首先明确步骤
1.打开目标站点
2.抓取目标站点代码并输出import requests
导入我们需要的requests功能模块
page=requests.get('https://www.crrcgo.cc/admin/crr_supplier.html?page=1')
这句命令的意思就是使用get方式获取该网页的数据。实际上我们获取到的就是浏览器打开百度网址时候首页画面的数据信息
print(page.text)
这句是把我们获取数据的文字(text)内容输出(print)出来
import requests page=requests.get('https://www.crrcgo.cc/admin/crr_supplier.html?page=1') print(page.text)
成功爬取到了目标网页源代码2.抓取一个网页源代码中的某标签内容
但是上面抓取到的代码充满尖括号的一片字符,对我们没有什么作用,这样的充满尖括号的数据就是我们从服务器收到的网页文件,就像Office的doc、pptx文件格式一样,网页文件一般是html格式。我们的浏览器可以把这些html代码数据展示成我们看到的网页。
我们如果需要这些字符里面提取有价值的数据,就必须先了解标记元素
每个标记的文字内容都是夹在两个尖括号中间的,结尾尖括号用/开头,尖括号内(img和div)表示标记元素的类型(图片或文字),尖括号内可以有其他的属性(比如src)
标记内容文字才是我们需要的数据,但我们要利用id或class属性才能从众多标记中找到需要的标记元素。我们可以在电脑浏览器中打开任意网页,按下f12键即可打开元素查看器(Elements),就可以看到组成这个页面的成百上千个各种各样的标记元素
标记元素是可以一层一层嵌套的,比如下面就是body嵌套了div元素,body是父层、上层元素;div是子层、下层元素。<body> <div>十分钟上手数据爬虫</div> </body>
回到抓取上面来,现在我只想在网页中抓取公司名这个数据,其他的我不想要
查看网页html代码,发现公司名在标签detail_head里面
import requests req=requests.get('https://www.crrcgo.cc/admin/crr_supplier.html?page=1')
这两行上面解释过了,是获取页面数据
from bs4 import BeautifulSoup
我们需要使用BeautifulSoup这个功能模块来把充满尖括号的html数据变为更好用的格式,from bs4 import BeautifulSoup这个是说从bs4这个功能模块中导入BeautifulSoup,是的,因为bs4中包含了多个模块,BeautifulSoup只是其中一个
req.encoding = "utf-8"
指定获取的网页内容用utf-8编码
soup = BeautifulSoup(html.text, 'html.parser')
这句代码用html解析器(parser)来分析我们requests得到的html文字内容,soup就是我们解析出来的结果。
company_item=soup.find_all('div',class_="detail_head")
find是查找,find_all查找全部。查找标记名是div并且class属性是detail_head的全部元素
dd = company_item.text.strip()
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。在这里就是移除多余的尖括号的html数据
最后拼接之后代码如下:
import requests from bs4 import BeautifulSoup req = requests.get(url="https://www.crrcgo.cc/admin/crr_supplier.html?page=1") req.encoding = "utf-8" html=req.text soup = BeautifulSoup(req.text,features="html.parser") company_item = soup.find("div",class_="detail_head") dd = company_item.text.strip() print(dd)
最后执行结果成功的抓取到了网页中我们想要的公司信息,但是却只抓取到了一个公司,其余的则并未抓取到所以我们需要加入一个循环,抓取网页中所有公司名,并没多大改变
for company_item in company_items: dd = company_item.text.strip() print(dd)
最终代码如下:
import requests from bs4 import BeautifulSoup req = requests.get(url="https://www.crrcgo.cc/admin/crr_supplier.html?page=1") req.encoding = "utf-8" html=req.text soup = BeautifulSoup(req.text,features="html.parser") company_items = soup.find_all("div",class_="detail_head") for company_item in company_items: dd = company_item.text.strip() print(dd)
最终运行结果查询出了该网页中所有的公司名3.抓取多个网页子标签的内容
那我现在想要抓取多个网页中的公司名呢?很简单,大体代码都已经写出,我们只需要再次加入一个循环即可
查看我们需要进行抓取的网页,发现当网页变化时,就只有page后面的数字会发生变化。当然很多大的厂商的网页,例如京东、淘宝 它们的网页变化时常让人摸不着头脑,很难猜测。
inurl="https://www.crrcgo.cc/admin/crr_supplier.html?page=" for num in range(1,6): print("================正在爬虫第"+str(num)+"页数据==================")
写入循环,我们只抓取1到5页的内容,这里的循环我们使用range函数来实现,range函数左闭右开的特性使得我们要抓取到5页必须指定6
outurl=inurl+str(num) req = requests.get(url=outurl)
将循环值与url拼接成完整的url,并获取页面数据
完整代码如下:
import requests from bs4 import BeautifulSoup inurl="https://www.crrcgo.cc/admin/crr_supplier.html?page=" for num in range(1,6): print("================正在爬虫第"+str(num)+"页数据==================") outurl=inurl+str(num) req = requests.get(url=outurl) req.encoding = "utf-8" html=req.text soup = BeautifulSoup(req.text,features="html.parser") company_items = soup.find_all("div",class_="detail_head") for company_item in company_items: dd = company_item.text.strip() print(dd)
成功的抓取到了1-5页所有的公司名(子标签)内容最近一直在学习,但是学习的东西很多很杂,于是便把自己的学习成果记录下来,便利自己,帮助他人。希望本篇文章能对你有所帮助,有错误的地方,欢迎指出!!!喜欢的话,不要忘记点赞哦!!!
-
python 怎么获取网页内容
2020-11-21 02:22:43Python用做数据处理还是...1 Pyhton获取网页的内容(也就是源代码)(推荐学习:Python视频教程)page = urllib2.urlopen(url)contents = page.read()#获得了整个网页的内容也就是源代码print(contents)url代表网址,... -
Python爬虫实战之爬取网站全部图片(一)
2021-01-08 17:08:38Python爬虫实战之爬取网站全部图片(二) 传送门: https://blog.csdn.net/qq_33958297/article/details/89388556 爬取网址: http://www.meizitu.com/a/more_1.html 爬取地址:... -
用python如何爬取网页文字?这样的代码就能轻松搞定
2020-11-23 15:16:11【摘要】爬虫作为python众多功能中的其中一种,有着不可或缺的地位,那么用python如何爬取网页文字?这样的代码就能轻松搞定,这些内容也许对python学习有帮助,毕竟实践出真知,所以你要知道用python如何爬取网页... -
关于网页抓取:如何使用Python从网站抓取文字
2020-12-10 13:43:35我用python使用'requests'和'beautifulSoup'API编写了一个代码,以从google返回的前100个站点中抓取文本数据。好吧,它在大多数站点上都很好用,但是在稍后响应或根本不响应的站点上却给出了错误我收到此错误引发... -
python 获取网页的内容
2018-11-07 15:07:161.安装pip 我的个人桌面系统用的linuxmint,系统默认没有安装pip,考虑到后面安装... $ sudo apt install python-pip 安装成功,查看PIP版本: 1 $ pip -V 2.安装reques... -
python抓取网页时是如何处理验证码的
2021-02-04 11:56:42展开全部python抓取网页时是如何处理验证码的e69da5e6ba903231313335323631343130323136353331333433646531?下面给大家介绍几种方法:1、输入式验证码这种验证码主要是通过用户输入图片中的字母、数字、汉字等进行... -
python3 抓取网页资源的 N 种方法
2020-11-22 19:05:111、最简单import urllib.requestresponse = urllib.request.urlopen('http://python.org/')html = response.read()2、使用 Requestimport urllib.requestreq = urllib.request.Request('http://python.org/')... -
python爬取网页图片
2021-07-30 20:22:44python爬取网页图片 爬取数据一般分为三步: 爬取网页信息 解析爬取来的数据 保存数据 找到自己想要爬取的网页,...import urllib.request,urllib.error #制定URL,获取网页数据 import xlwt #进行excel操作 import s -
python 抓网页内容分析
2021-04-27 06:17:50python 抓网页内容分析发布时间:2019-09-10 09:14:46编辑:auto阅读(394)用Python语言写搜索引擎蜘蛛的脚本非常简单、轻松。给大家分享两种抓网页内容的方法一、用urllib2/sgmllib包,将目标网页的所有URL列出。... -
python访问抓取网页常用命令总结
2020-12-05 02:40:05python访问抓取网页常用命令简单的抓取网页:import urllib.requesturl="http://google.cn/"response=urllib.request.urlopen(url) #返回文件对象page=response.read()直接将URL保存为本地文件:import urllib.... -
python图片提取文字
2022-02-28 22:02:59文章目录一、前期准备二、代码 一、前期准备 需要先下载 tesseract-ocr-w64-setup-v5.0.1.20220118 ,官网下载即可,尽量用最新的版本,旧版本识别率很低并且解压后不能自动下载相关内容。解压后路径需要替换下文C:... -
Python抓取百度查询结果的方法
2020-09-21 22:30:29主要介绍了Python抓取百度查询结果的方法,涉及Python正则匹配及字符串与URL操作的相关技巧,需要的朋友可以参考下 -
python判断网页中的特定文字一>
2021-11-21 21:35:04条件:1、必须是特定文字,动态的该方法不适用。2、此法是根据网页css判断,通过网页元素复制selectot。 步骤: 1、导入ImportBeautifulSoup模块 我的安装环境是ananconda+pyhon3.9,相关模块已自动安装 2、代码... -
Python 抓取网页并提取信息(程序详解)
2020-12-29 11:56:10下面程序使用python抓取网页并提取信息,具体内容如下:#import urllib2 #extensible library for opening URLsimport re #regular module#def main():userMainUrl = "http://www.songtaste.com/user/351979... -
python-Web抓取-如何识别网页上的主要内容
2021-01-12 06:25:37python-Web抓取-如何识别网页上的主要内容给定一个新闻文章网页(来自任何主要新闻来源,例如Times或Bloomberg),我想确定该页面上的主要文章内容,并排除其他杂项元素,例如广告,菜单,侧边栏,用户评论。... -
python selenium抓取网页数据
2022-04-11 09:06:08driver = webdriver.Chrome('D:\Program Files (x86)\Python\Python310\chromedriver.exe', options=option) driver.get(url) #获取查询框输入查询信息 driver.find_element(By.ID, value="key_S").send_keys(... -
python打开url并按指定块读取网页内容的方法
2020-09-22 04:04:54主要介绍了python打开url并按指定块读取网页内容的方法,涉及Python操作URL及网页内容的技巧,非常具有实用价值,需要的朋友可以参考下 -
python怎么获取屏幕上的文字坐标?
2021-02-21 18:22:26我想要写一个自动点击屏幕的脚本,要点击某段文字,怎么获取这个文字的坐标啊?</p> -
python如何获取需登录会员后复制文字的部分网页内容
2021-12-08 11:33:10python中提取html源代码中的内容 python如何获取需登录会员后复制文字的部分网页内容 如何在jupyter中不换行输入 Non-UTF-8 code starting with '\xe7' in file .py on line, but no encoding declared; see ... -
python抓取网页数据,并存储到sqlite中
2022-05-23 16:38:28鸿蒙开发过程中,从网页抓取数据,并生成sqlite轻量级数据库文件,便于进一步实现增删改查。 -
python3抓取网页,自动创建目录并保存网页内容
2021-10-26 15:55:29单个网页的抓取和下载 #coding=utf-8 import urllib.request import ssl import os #解决ssl报错 ssl._create_default_https_context = ssl._create_unverified_context def callbackfunc(blocknum, blocksize, ...