我正在尝试从我们自己的 URL 存档中提取同人小说,以便使用 NLTK 库对其进行一些语言分析。然而,每次从 URL 中抓取 HTML 的尝试都会返回除同人小说(以及我不需要的评论表单)之外的所有内容。
首先我尝试使用内置的 urllib 库(和 BeautifulSoup):
import urllib
from bs4 import BeautifulSoup
html = request.urlopen("http://archiveofourown.org/works/6846694").read()
soup = BeautifulSoup(html,"html.parser")
soup.prettify()
然后我发现了 Requests 库,以及用户代理如何成为问题的一部分,所以我尝试了同样的结果:
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',
}
requests.get("http://archiveofourown.org/works/6846694",headers=headers,timeout=5).text
然后我发现了 Selenium 和 PhantomJS,所以我安装了它们并再次尝试 - 同样的结果:
from selenium import webdriver
from bs4 import BeautifulSoup
browser = webdriver.PhantomJS()
browser.get("http://archiveofourown.org/works/6846694")
soup = BeautifulSoup(browser.page_source, "html.parser")
soup.prettify()
我在这些尝试中是否做错了什么,或者这是服务器的问题?