Thanks for taking the time to respond, appreciated but unfortunatey it still 
does not work for me

import pywikibot
wd = pywikibot.Site('wikidata', 'wikidata')
repo = wd.data_repository()
item = pywikibot.ItemPage(repo, 'Q42')
item.get()

which I believe is the same code that works for you! but when I run it in my 
Jupyter notebook I get the following error (end of email)

Confused :) will explore further, I must be doing something really stupid, 
wouldn't be the first time!

Clemo

EntityTypeUnknownException                Traceback (most recent call last)
<ipython-input-444-5b9dee68bfbb> in <module>
      2 wd = pywikibot.Site('wikidata', 'wikidata')
      3 repo = wd.data_repository()
----> 4 item = pywikibot.ItemPage(repo, 'Q42')
      5 item.get()

~/opt/anaconda3/lib/python3.7/site-packages/pywikibot/page/__init__.py in 
__init__(self, site, title, ns)
   4674         """
   4675         if ns is None:
-> 4676             ns = site.item_namespace
   4677         # Special case for empty item.
   4678         if title is None or title == '-1':

~/opt/anaconda3/lib/python3.7/site-packages/pywikibot/site/__init__.py in 
item_namespace(self)
   7742         """
   7743         if self._item_namespace is None:
-> 7744             self._item_namespace = 
self.get_namespace_for_entity_type('item')
   7745         return self._item_namespace
   7746 

~/opt/anaconda3/lib/python3.7/site-packages/pywikibot/site/__init__.py in 
get_namespace_for_entity_type(self, entity_type)
   7731         raise EntityTypeUnknownException(
   7732             '{0!r} does not support entity type "{1}"'
-> 7733             .format(self, entity_type))
   7734 
   7735     @property

EntityTypeUnknownException: DataSite("wikidata", "wikidata") does not support 
entity type "item"

________________________________________
From: pywikibot [[email protected]] on behalf of 
AntiCompositeNumber [[email protected]]
Sent: Saturday, June 27, 2020 5:23 PM
To: Pywikibot discussion list
Subject: Re: [pywikibot] Using the Q number to get a wikidata page

You should be calling pywikibot.ItemPage with the data repository, not the site.

>>> import pywikibot
>>> wd = pywikibot.Site('wikidata', 'wikidata')
>>> repo = wd.data_repository()
>>> item = pywikibot.ItemPage(repo, 'Q42')
>>> item.get()
{'labels': <pywikibot.page.LanguageDict object at 0x7f69c8ca18e0>,
'descriptions': <pywikibot.page.LanguageDict object at
0x7f69c88fc8b0>, 'aliases': <pywikibot.page.AliasesDict object at
0x7f69c88fc6d0>, 'claims': <pywikibot.page.ClaimCollection object at
0x7f69c88fca30>, 'sitelinks': <pywikibot.page.SiteLinkCollection
object at 0x7f69c88fc940>}
>>> item.claims["P31"][0].getTarget()
ItemPage('Q5')

I couldn't get pywikibot.ItemPage.fromPage to work properly, but it
looks like that is related to
<https://phabricator.wikimedia.org/T242081>.

AntiCompositeNumber

On Sat, Jun 27, 2020 at 10:55 AM Clements, Paul <[email protected]> wrote:
>
> Hi,
>
> I am trying to use a q number to get the details of a page in wikidata.  I 
> have searched through the tutorials and found these that claim to work
>
>         wikidata = pywikibot.Site("wikidata", "wikidata")
>         repo = wikidata.data_repository()
>
>         item = pywikibot.ItemPage(wikidata, 
> "Q42").get()['claims']['P31'][0].getTarget()
>         itempage = 
> pywikibot.ItemPage.fromPage(pywikibot.Page(pywikibot.Site("en", "wikipedia"), 
> "Douglas Adams"))
>
> However when I run either of these then I get the
>
> EntityTypeUnknownException: DataSite("wikidata", "wikidata") does not support 
> entity type "item"
>
>
> As I am new to this and also python I am sure I am doing something stupid but 
> its currently driving me mad.
>
> Any help would be appreciated
>
> Clemo
>
>
>
>
>
> ******************************************************************************************************************
> Experience the British Library online at www.bl.uk
> The British Library’s latest Annual Report and Accounts : 
> www.bl.uk/aboutus/annrep/index.html
> Help the British Library conserve the world's knowledge. Adopt a Book. 
> www.bl.uk/adoptabook
> The Library's St Pancras site is WiFi - enabled
> *****************************************************************************************************************
> The information contained in this e-mail is confidential and may be legally 
> privileged. It is intended for the addressee(s) only. If you are not the 
> intended recipient, please delete this e-mail and notify the [email protected] 
> : The contents of this e-mail must not be disclosed or copied without the 
> sender's consent.
> The statements and opinions expressed in this message are those of the author 
> and do not necessarily reflect those of the British Library. The British 
> Library does not take any responsibility for the views of the author.
> *****************************************************************************************************************
> Think before you print
> _______________________________________________
> pywikibot mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/pywikibot

_______________________________________________
pywikibot mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot

_______________________________________________
pywikibot mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot

Reply via email to