python爬取百度文库内容(python抓取百度文库)

http://www.itjxue.com  2023-03-27 11:24  来源:未知  点击次数: 

如何利用python爬取网页内容

利用python爬取网页内容需要用scrapy(爬虫框架),但是很简单,就三步

定义item类

开发spider类

开发pipeline

想学习更深的爬虫,可以用《疯狂python讲义》

python,求一个简单的selenium+re的网页源码爬取

网页爬取不一定要用Selenium,Selenium是为了注入浏览器获取点击行为的调试工具,如果网页无需人工交互就可以抓取,不建议你使用selenium。要使用它,你需要安装一个工具软件,使用Chrome浏览器需要下载chromedriver.exe到system32下,如使用firefox则要下载geckodriver.exe到system32下。下面以chromedriver驱动chrome为例:

#?-*-?coding:UTF-8?-*-

from?selenium?import?webdriver

from?bs4?import?BeautifulSoup

import?re

import?time

if?__name__?==?'__main__':

options?=?webdriver.ChromeOptions()

options.add_argument('user-agent="Mozilla/5.0?(Linux;?Android?4.0.4;?Galaxy?Nexus?Build/IMM76B)?AppleWebKit/535.19?(KHTML,?like?Gecko)?Chrome/18.0.1025.133?Mobile?Safari/535.19"')

driver?=?webdriver.Chrome()

driver.get('url')#你要抓取百度文库的URL,随便找个几十页的替换掉

html?=?driver.page_source

bf1?=?BeautifulSoup(html,?'lxml')

result?=?bf1.find_all(class_='rtcspage')

bf2?=?BeautifulSoup(str(result[0]),?'lxml')

title?=?bf2.div.div.h1.string

pagenum?=?bf2.find_all(class_='size')

pagenum?=?BeautifulSoup(str(pagenum),?'lxml').span.string

pagepattern?=?re.compile('页数:(\d+)页')

num?=?int(pagepattern.findall(pagenum)[0])

print('文章标题:%s'?%?title)

print('文章页数:%d'?%?num)

while?True:

num?=?num?/?5.0

html?=?driver.page_source

bf1?=?BeautifulSoup(html,?'lxml')

result?=?bf1.find_all(class_='rtcspage')

for?each_result?in?result:

bf2?=?BeautifulSoup(str(each_result),?'lxml')

texts?=?bf2.find_all('p')

for?each_text?in?texts:

main_body?=?BeautifulSoup(str(each_text),?'lxml')

for?each?in?main_body.find_all(True):

if?each.name?==?'span':

print(each.string.replace('\xa0',''),end='')

elif?each.name?==?'br':

print('')

print('\n')

if?num??1:

page?=?driver.find_elements_by_xpath("//div[@class='page']")

driver.execute_script('arguments[0].scrollIntoView();',?page[-1])?#拖动到可见的元素去

nextpage?=?driver.find_element_by_xpath("//a[@data-fun='next']")

nextpage.click()

time.sleep(3)

else:

break

执行代码,chromedriver自动为你打开chrome浏览器,此时你翻页到最后,点击阅读更多,然后等一段时间后关闭浏览器,代码继续执行。

如何抓取百度文库里的文档内容

使用2345浏览器,全选文库内文字转至百度翻译,然后复制百度翻译页面内的文字即可,步骤如下:

所需材料:2345浏览器。

一、打开你所需要复制的百度文库页面,选中要复制的文字内容。

二、右键点击选中区域,弹出菜单内点击“翻译”。

三、这时会跳转至百度翻译页面,而且选中的文字会出现在“待翻译区”,这时全选这些文字。

四、右键点击,弹出的菜单内点击“复制”(在这里复制就没有任何限制了)。

五、打开Word等文档软件,Ctrl+V即可粘贴进去。

(责任编辑:IT教学网)

更多

推荐微信营销文章