我无法搜索“关键字”内容。 >“中< 我尝试了很多方法,但仍然失败了。
我已成功检索到其他内容,但仍无法获取“关键字”内容。
任何人都可以帮忙解决这个问题吗? 关键字内容位于“#keyword_table a”, 或XPath“// * [@ id =”keyword_table“] / tbody / tr / td [2] / a”
关键字内容的图片:
我的代码:
import scrapy
from bs4 import BeautifulSoup
from digitimes.items import DigitimesItem
class digitimesCrawler(scrapy.Spider):
name = 'digitimes'
start_urls = ["http://www.digitimes.com.tw/tw/dt/n/shwnws.asp?id=435000"]
def parse(self, response):
soup = BeautifulSoup(response.body,'html.parser')
soupXml = BeautifulSoup(response.body, "lxml")
simpleList = []
item = DigitimesItem()
timeSel=soup.select('.insubject .small')
tmpTime = timeSel[0].text
time = tmpTime[:10]
item['time'] = time #處理完時間啦
print(time)
titleSel = soup.select('title')
title = titleSel[0].text
item['title'] = title #處理完時間啦
print(title)
#================== To Resolve ==================
keywordOutput=""
for k in soupXml.select('#keyword_table a'):
for key in k:
keywordOutput = keywordOutput + key + " "
item['keyword'] = keywordOutput
print(keywordOutput)
#================== To Resolve ==================
categoryOutput=""
for m in soup.select('#sitemaptable tr td a'):
for cate in m:
if(cate!="DIGITIMES"):
categoryOutput = categoryOutput + cate + " "
item['cate'] = categoryOutput
print(categoryOutput)
simpleList.append(item)
return simpleList
答案 0 :(得分:0)
您是否有任何特殊原因使用BeautifulSoup而不是scrapy选择器?您的方法收到的响应已经充当scrapy选择器,可以执行xpath和css选择。
表中似乎有3个关键字。您可以使用xpath或css选择器选择它们:
response.css("#keyword_table a::text").extract()
# or with xpath
response.xpath("//*[@id='keyword_table']//a/text()").extract()
# both return
>>> [u'Sony', u'\u5f71\u50cf\u611f\u6e2c\u5668', u'\u80a1\u7968\u4ea4\u6613']