python爬取页面数据错误,连续爬很多页数。我主要改变的是post里面的参数pageno

python爬取页面数据错误,连续爬很多页数。我主要改变的是post里面的参数pageno,第1张

给你贴一下我前一段时间回答的类似问题,用的soup,还有一个用的正则就不贴了,手机不太方便,如下。

import beautifulsoup

import urllib2

def main():

userMainUrl = "你要抓取的地址"

req = urllib2Request(userMainUrl)

resp = urllib2urlopen(req)

respHtml = respread()

foundLabel = respHtmlfindAll("label")

finalL =foundLabelstring

print "biaoti=",finalL

if __name__=="__main__":

main();

PS:如果不会改的话追问一下,回头我用电脑给你写一份

必须说明:不同于Illustrator、InDesign、CorelDRAW、OpenOffice DRAW、Incscape等工具,Word是流动分页的,文件内容本身并不存储分页结果。具体分页时断在哪里、最后分出多少页,都需要现场渲染所有的图文内容之后才能确定。

(简而言之就是:Word文件中仅包含了一行一行的文本,与页面设置中指定的页面尺寸。Word每次打开文件时都会一行一行“摆放”文本数据,发现一页装不下了自动新开一页。当然真正的Word渲染引擎肯定有更复杂的行为。)

从doc/docx文件中直接读出页面数量,这本身就是个伪命题。所以千万别在“直接读取页面数量”这个方向上寻求方案——软件开发的技法不好可以改正,但路线错了必死无疑!

你需要调动一套能够真的把Word文件的内容渲染出来的工具(支持二次开发的)。只有把Word文件的所有内容渲染成为可以观看的图形,才能准确得知页面的总数。在Linux上很可能LibreOffice可以吧。而在Windows上就当然是用Word本身了。

注意Word的分页结论是没有保证的。缺少字体、字形不同、软件环境不同等各种原因,都会造成不同电脑上打开同一个Word文件的页数不一致。这一点对服务器也没有例外。得到了页数也只能参考使用,而不要100%信赖。

要求:页码从第1章开始,按阿拉伯数字连续编排。页码位于页面底端,居中书写;

虽然在python-docx 088 (2019-01-07)的版本中已经支持了word文档的页眉页脚的设置,但目前我也尚未找到怎么在页脚中显示页码。

现采用另一种解决方法,新建一个含有页码的word文档作为模板,读取该word文档,在该模板的基础上生成符合需求的word文档。因为python-docx实质就是从一个空的word文档开始生成,所以可以在生成之前先在空的word文档设置好页码或其他一些所需的样式,这样就也能生成满足需求的word文档。

另:

python-docx中的字体设置

runfontname ='Times New Roman' # 设置西文字体

run_elementrPrrFontsset(qn('w:eastAsia'), '宋体')# 设置中文字体

五、打印信息

很多时间我们不可能盯着脚本执行,我们需要一些打印信息来证明脚本运行是否正确:

51、打印 tile

把刚才访问页面的 title 打印出来。

coding = utf-8

from selenium import webdriver

driver = webdriverChrome()

driverget('')

print drivertitle

# 把页面 title 打印出来

driverquit()

虽然我没看到脚本的执行过程,但我在执行结果里看到了

>>>

百度一下,你就知道

说明页面正确被我打开了。

52、打印 URL

可以将浏览器的 title 打印出来,这里再讲个简单的,把当前 URL 打印出来。其实

也没啥大用,可以做个凑数的用例。

#coding=utf-8

from selenium import webdriver

import time

browser = webdriverFirefox()

url= ''

#通过 get 方法获取当前 URL 打印

print "now access %s" %(url)

browserget(url)

timesleep(2)

browserfind_element_by_id("kw")send_keys("selenium")

browserfind_element_by_id("su")click()

timesleep(3)

browserquit()

六、浏览器的 *** 作

61、浏览器最大化

我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会

影响我们“观看”脚本的执行。

#coding=utf-8

from selenium import webdriver

import time

browser = webdriverFirefox()

browserget("")

print "浏览器最大化"

browsermaximize_window()

#将浏览器最大化显示

timesleep(2)

browserfind_element_by_id("kw")send_keys("selenium")

browserfind_element_by_id("su")click()

timesleep(3)

browserquit()

62、设置浏览器宽、高

最大化还是不够灵活,能不能随意的设置浏览的宽、高显示?当然是可以的。

#coding=utf-8

from selenium import webdriver

import time

browser = webdriverFirefox()

browserget("")

timesleep(2)

#参数数字为像素点

print "设置浏览器宽480、高800显示"

browserset_window_size(480, 800)

timesleep(3)

browserquit()

以上就是关于python爬取页面数据错误,连续爬很多页数。我主要改变的是post里面的参数pageno全部的内容,包括:python爬取页面数据错误,连续爬很多页数。我主要改变的是post里面的参数pageno、如何在 Linux 上使用 Python 读取 word 文件信息、python-docx生成默认有页码的word文档等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9665380.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存