使用BeautifulSoup进行Python网络抓取,循环并跳过某些URL值

因此,我正在使用以下代码从某个站点抓取雕像。

from bs4 import BeautifulSoup
import requests


f = open('C:\Python27\projects\FL_final.doc','w')

base_url = "http://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0000-0099/00{chapter:02d}/00{chapter:02d}.html"

for chapter in range (1,9):
  url = base_url.format(chapter=chapter)
  r = requests.get(url)
  soup = BeautifulSoup((r.content),"html.parser")
  tableContents = soup.find('div', {'class': 'Chapters' })
  for title in tableContents.find_all ('div', {'class': 'Title' }):
    f.write (title.text)

   for data in tableContents.find_all('div',{'class':'Section' }):
      data = data.text.encode("utf-8","ignore")
      data = "\n\n" + str(data)+ "\n" 
      f.write(data)

f.close()   

问题是缺少某些章节。例如,第1章到第2章有页面,那么第3、4、5章的页面不存在。因此,当使用范围(1,9)时,由于无法获取第3、4、5章的内容而给我错误,因为它们的(0003 / 0003、0004 / 0004、0005 / 0005)url不存在。

如何跳过循环中缺少的URL,并让程序找到该范围内的下一个可用URL?

这是第1章的网址:http : //www.leg.state.fl.us/statutes/index.cfm? App_mode = Display_Statute&URL = 0000-0099/0001/ 0001.html

乐宝

您可以try为url请求添加,并tableContents is not none在应用之前进行检查find_all

import requests

f = open('C:\Python27\projects\FL_final.doc','w')

base_url = "http://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0000-0099/00{chapter:02d}/00{chapter:02d}.html"

for chapter in range (1,9):
  url = base_url.format(chapter=chapter)
  try:
    r = requests.get(url)
  except requests.exceptions.RequestException as e:    # This is the correct syntax
      print "missing url"
      print e
      sys.exit(1)
  soup = BeautifulSoup((r.content),"html.parser")
  tableContents = soup.find('div', {'class': 'Chapters' })

  if tableContents is not None:
    for title in tableContents.find_all ('div', {'class': 'Title' }):
      f.write (title.text)

    for data in tableContents.find_all('div',{'class':'Section' }):
      data = data.text.encode("utf-8","ignore")
      data = "\n\n" + str(data)+ "\n" 
      print data
      f.write(data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用python和BeautifulSoup进行网络抓取

来自分类Dev

使用BeautifulSoup使用python进行网络抓取,发现错误

来自分类Dev

在Python标签中使用BeautifulSoup进行网络抓取

来自分类Dev

使用python beautifulsoup进行网络抓取,等号后获取值

来自分类Dev

Python BeautifulSoup网络抓取

来自分类Dev

使用Python,BeautifulSoup进行Web抓取

来自分类Dev

使用 BeautifulSoup 进行网页抓取 -- Python

来自分类Dev

使用 Python BeautifulSoup 进行网页抓取

来自分类Dev

Python - 使用 BeautifulSoup 和 Urllib 进行抓取

来自分类Dev

使用Matplotlib在Python中跳过某些值

来自分类Dev

无法使用python和beautifulsoup抓取网页中的某些href

来自分类Dev

如何使用BeautifulSoup创建循环以从源URL抓取多个页面?

来自分类Dev

使用BeautifulSoup遍历URL列表进行Web抓取

来自分类Dev

使用嵌套 for 循环抓取网页,python3 中的 BeautifulSoup

来自分类Dev

登录到站点以使用 Python 进行网络抓取

来自分类Dev

使用Beautifulsoup和Python进行Web抓取不起作用

来自分类Dev

使用python 2.7和beautifulsoup 4进行网站抓取

来自分类Dev

Python上BeautifulSoup的属性错误(网络抓取)

来自分类Dev

Python BeautifulSoup并请求网络抓取

来自分类Dev

如何只使用 python 从 CSV 文件中抓取某些 URL?

来自分类Dev

使用Python循环(某些值除外)

来自分类Dev

使用BeautifulSoup进行Python抓取,仅抓取其中带有特定单词的段落

来自分类Dev

使用BeautifulSoup Python抓取网页

来自分类Dev

使用BeautifulSoup Python抓取网页

来自分类Dev

通过登录网站进行python网络抓取

来自分类Dev

使用R自动进行网络抓取

来自分类Dev

如何使用Ubuntu终端进行网络抓取?

来自分类Dev

使用Python和beautifulsoup进行Web抓取:BeautifulSoup函数可以保存什么?

来自分类Dev

在Wikipedia上使用BeautifulSoup进行Web抓取

Related 相关文章

  1. 1

    使用python和BeautifulSoup进行网络抓取

  2. 2

    使用BeautifulSoup使用python进行网络抓取,发现错误

  3. 3

    在Python标签中使用BeautifulSoup进行网络抓取

  4. 4

    使用python beautifulsoup进行网络抓取,等号后获取值

  5. 5

    Python BeautifulSoup网络抓取

  6. 6

    使用Python,BeautifulSoup进行Web抓取

  7. 7

    使用 BeautifulSoup 进行网页抓取 -- Python

  8. 8

    使用 Python BeautifulSoup 进行网页抓取

  9. 9

    Python - 使用 BeautifulSoup 和 Urllib 进行抓取

  10. 10

    使用Matplotlib在Python中跳过某些值

  11. 11

    无法使用python和beautifulsoup抓取网页中的某些href

  12. 12

    如何使用BeautifulSoup创建循环以从源URL抓取多个页面?

  13. 13

    使用BeautifulSoup遍历URL列表进行Web抓取

  14. 14

    使用嵌套 for 循环抓取网页,python3 中的 BeautifulSoup

  15. 15

    登录到站点以使用 Python 进行网络抓取

  16. 16

    使用Beautifulsoup和Python进行Web抓取不起作用

  17. 17

    使用python 2.7和beautifulsoup 4进行网站抓取

  18. 18

    Python上BeautifulSoup的属性错误(网络抓取)

  19. 19

    Python BeautifulSoup并请求网络抓取

  20. 20

    如何只使用 python 从 CSV 文件中抓取某些 URL?

  21. 21

    使用Python循环(某些值除外)

  22. 22

    使用BeautifulSoup进行Python抓取,仅抓取其中带有特定单词的段落

  23. 23

    使用BeautifulSoup Python抓取网页

  24. 24

    使用BeautifulSoup Python抓取网页

  25. 25

    通过登录网站进行python网络抓取

  26. 26

    使用R自动进行网络抓取

  27. 27

    如何使用Ubuntu终端进行网络抓取?

  28. 28

    使用Python和beautifulsoup进行Web抓取:BeautifulSoup函数可以保存什么?

  29. 29

    在Wikipedia上使用BeautifulSoup进行Web抓取

热门标签

归档