使用python给出一个网站而不是另一个网站结果的零碎代码
当我执行这段代码时,我得到的结果是{[text1,author1,tag1],[text2,author2,tag2],…}使用python给出一个网站而不是另一个网站结果的零碎代码,python,web-scraping,scrapy,scrapy-spider,Python,Web Scraping,Scrapy,Scrapy Spider,当我执行这段代码时,我得到的结果是{[text1,author1,tag1],[text2,author2,tag2],…} import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = [ 'http://quotes.toscrape.com/page/1/', ] def parse(self, response): for quo
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'http://quotes.toscrape.com/page/1/',
]
def parse(self, response):
for quote in response.css('div.quote'):
yield {
'text': quote.css('span.text::text').extract_first(),
'author': quote.css('small.author::text').extract_first(),
'tags': quote.css('div.tags a.tag::text').extract(),
}
但是,在另一个URL(如下)的相同代码中,我得到的结果是{[name1,name2,…],[city1,city2,…]}
我想以{[name1,city1],[name2,city2],…]的形式使用它,因为上面的代码是这样的。
import scrapy
class QuotesSpider(scrapy.Spider):
name = "student"
start_urls = [
'http://www.engineering.careers360.com/colleges/list-of-engineering-colleges-in-karnataka?sort_filter=alpha',
]
def parse(self, response):
for students in response.css('div.list-pages'):
yield {
'name': students.css('div.title a::text').extract(),
'city': students.css('div.clg-state a::text').extract(),
}
您的学生选择器有故障:
for students in response.css('div.list-pages'):
这只会选择整个页面。我想你在这里寻找的是:
for students in response.css('li.search-result'):
谢谢Granitosaurus。@Yash没问题。如果您觉得足够的话,请随意点击左边的“接受答案”按钮!Granitosaurus也可以帮我解决这个问题。谢谢您。